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


231

Jenkins이 Gerrit곳에서 플러그인을 그래서 우리는 체크인을 할 때 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 개 폴더가있는 경우 folder1와 folder2동일한 수준 및 복사 할 folder1\job1에 folder2\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.