Jenkins에서 작업을 어떻게 복제합니까?


231

JenkinsGerrit곳에서 플러그인을 그래서 우리는 체크인을 할 때 Gerrit, Jenkins수행 빌드를 그리고 성공하면,에 다음 수정 Gerrit확인됩니다. 빌드가 실패하면 실패합니다. 내 이해는 이것이에서 설정된 작업을 통해 달성된다는 것입니다 Jenkins. 이제 새 분기 ( git)를 만들었으며 동일한 워크 플로가 발생하고 모든 커밋에서 빌드가 수행되도록 다른 분기를 가리키는 기존 작업을 복제해야한다고 생각합니다. 누군가이 작업을 어떻게 복제하는지 설명 할 수 있습니까? UI를 통해 그것을 수행하는 방법을 보지 못하고 UI를 통해 작업을 나열하는 방법을 볼 수도 없습니다.


7
새 작업 페이지의 옵션 중 하나로 "기존 작업 복사"가 가능해야합니다. stackoverflow.com/questions/3133537/…
nofinator

답변:


180

기존 작업을 복사하려면 http://your-jenkins/newJob"기존 작업 복사"옵션으로 이동하여 사용하십시오. 기존 작업의 이름을 입력하십시오-Jenkins가 존재하는지 확인합니다.

Jenkins 첫 페이지의 기본 탭에 기존 작업이 모두 나열되어 있지만 이전 작업에서 해당 탭을 삭제했을 수 있습니다. 모든 작업을 나열하는 새 탭을 만들 수 있습니다.http://your-jenkins/newView.


기존 작업을 복사하는 동안 작업에 액세스하는 동안 URL에서 인코딩되지 않은 이름을 제공해야하므로 작업 이름에 공백이 있으면 이름이 유지됩니다. 곧 작업의 원래 이름 만 입력하십시오 .
Yauhen

ez-template 플러그인을 설치하면 "기존 작업 복사"가 템플릿 또는 템플릿을 사용하는 작업에 적용되어 템플릿에 따라 새 작업이 생성됩니다. 실제로 독립적 인 사본을 원하면 Use another job as a template구성 을 삭제할 수 있습니다.
user598656

146

작업을 복제 할 수 있습니다.

  1. '새 항목'링크를 클릭하십시오
  2. 당신의 직업에 새로운 이름을 지어주십시오
  3. 라디오 버튼 '기존 항목 복사'를 선택하십시오.
  4. 복제하려는 작업 이름을 제공하십시오.
  5. '확인'을 클릭하십시오

마지막으로 복제 된 작업의 모든 기능을 반영하는 새 작업이 있습니다.


117

젠킨스 2.9

  1. 젠킨스> 새 항목

    젠킨스 새 아이템

  2. 항목 이름을 입력하십시오 -예 : "MY_CLONE"

    항목 이름을 입력하십시오

  3. 소스 지정 ( 복사 위치 ) 작업> 확인

    이름 입력을 시작하면 기존 값이 나타납니다. 대소 문자를 구분합니다.

    OK에서 복사

  4. 기본값을 유지하려면 저장을 클릭 하십시오 .

  5. 이제 두 작업을 같은 위치에서 사용할 수 있습니다.

    작업보기


3
그림은 천 단어의 가치가 있습니다. 내 인생에 대한 작은 드롭 다운을 찾을 수 없습니다. Mulțumiri
michaelok

34

New Item> Project Name= abc> 대신 Freestyle job, 선택Copy from job name of already existing jobs

디렉토리에서 복사하려는 폴더 안에 있으면를 사용하십시오 ../.


언급 해 주셔서 감사합니다../
Satevg

14

동일한 Jenkins에서 다른 하위 폴더로 복사하려면 새 항목을 작성하십시오-> 사본을 사용하십시오. 새 작업은 동일한 디렉토리에 복제됩니다. 그런 다음 이동 옵션을 사용하여 원하는 디렉토리로 이동하십시오.


이것이 내가 사용한 것입니다. 같은 폴더에 복사하는 것만으로는 충분하지 않습니다. 감사!
donmartin

11

위의 모든 답변이 좋습니다. 그러나 작업을 위해 "폴더"를 만든 경우 상황이 약간 다릅니다.

새 작업을 생성 할 폴더를 클릭하십시오. 그런 다음 왼쪽 메뉴에서 "새 항목"을 클릭하십시오. 이제 "새 작업"URL은 다음과 같습니다 ( "내 폴더"에서 새 작업을 작성한다고 가정).

http://my-jenkins:8080/job/my-folder/newJob

아래는 Enter an item name, 원하는 새 작업의 이름을 입력합니다. 그런 다음 Copy from하단 의 텍스트 상자를 사용하십시오 . 소스 작업의 작업 경로를 입력하십시오.

예 : 소스 작업이 폴더 아래 src-folder에 있고 작업 이름이 인 경우 "복사 원본"상자 src-job에 입력해야합니다 src-folder/src-job.

도움이 되길 바랍니다.


여전히 폴더 간 구조 간 작업을 복사하는 방법을 찾으려고 노력하고 있습니다. Jenkins는 폴더 인 새 항목마다 리터럴 "작업"을 추가합니다 (예 : localhost : 8080 / job / x / job / y / job_1에 작업이 있음). 여기서 x와 y는 폴더입니다. job_1은 실제 작업입니다. 이 작업을 localhost : 8080 / job / x / job / z / job_1에 어떻게 복사 할 수 있습니까? 운없이 소스 작업에 대한 모든 참조를 시도했습니다.
Heinz

1
로 이동하십시오 localhost:8080/job/x/job/y/job_1. 해당 페이지에가 표시되어야합니다 Full project name. 소스를 지정할 때 사용하십시오.
부샨 September

당신이 2 개 폴더가있는 경우 folder1folder2동일한 수준 및 복사 할 folder1\job1folder2\job1, 당신은 폴더에 새 항목을 만들 수 있습니다 folder2후 사용하는 ..폴더 구조에 돌아가서 복사합니다 ../folder1/job1.
DRz


10

필자의 경우 한 젠킨스 인스턴스에서 다른 젠킨스 인스턴스로 작업을 복사해야했습니다.

그래서 먼저 이전 Jenkins의 디렉토리 구조 (작업 / 디렉토리 이름; config.xml 참조)를 찾은 다음 새 jenkins의 디렉토리 구조 아래에서 동일한 이름 / 작업으로 디렉토리를 작성하고 복사했습니다. 이 새로 작성된 디렉토리 아래의 config.xml

그런 다음 "Jenkins 관리"에서 "디스크에서 구성 다시로드"를 누르십시오. 그게 다야.


"디스크에서 구성 다시로드"팁에 감사드립니다!
Aliza

1
예, 디스크에서 다시로드하기 전에 여러 항목을 대량 복사해야 할 때 이와 같이하면 config.xml 에서 일부 매개 변수, 텍스트 조각 검색 / 바꾸기 등 CLI에서 필요한 수동 마법을 수행 할 수도 있습니다 . config.xml 이 있는 디렉토리 이름은 작업 이름입니다. 따라서 Rohit과 달리 새 작업을 작성해야하는 경우 다른 이름을 지정하십시오.
RAM237

제 생각에는 내부에 많은 작업이있는 여러 수준의 폴더가있을 때 이것이 최선의 선택입니다.
cabreracanal

3

새 항목을 만들고 기존 항목에서 복사하는 마지막 옵션으로 이동하여 현재 작업 이름을 작성하면 해당 프로젝트의 복제본을 사용할 수 있습니다.


1

하위 폴더에서 Jenkins 작업을 복사 할 수 없습니다. copy from옵션은 내가 찾고있는 제안을 보여주지 않았습니다. 제안을 사용하지 않고 작업 이름을 복사하지 못했습니다.

따라서 외부 폴더에서 작업을 생성하려면 먼저 하위 폴더에 작업을 생성 한 다음 배치해야하는 다른 폴더로 이동해야합니다.



0

여기에있는 모든 대답은 매우 도움이되지만 Jenkins에 대한 매우 이상한 버그를 놓치십시오. 새 작업 구성을 편집 한 후 확대 / 축소 수준이 너무 높으면 save또는 apply버튼 옵션이 표시되지 않을 수 있습니다. 버튼이 페이지에 있고 확대 / 축소 수준에 의해 숨겨져 있으므로 페이지 왼쪽 하단에 버튼이 표시 될 때까지 축소해야합니다.

이상해, 알아!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.