2017-12-17 24 views
0

Jenkins 파이프 라인을 통해 p4 조정을 실행할 수있는 옵션이 있고 제출처가 변경된 경우 (p4 게시) 옵션이 있습니까?Jenkins Groovy에서 p4 reconcile 및 p4 제출 방법

실현 예제 일부하시기 바랍니다

편집이있는 경우 :

내 질문을 제출 변경이 이루어진 경우 다음 내 작업 공간에 조화 P4에서 실행하는 방법입니다. p4 plugin for jenkins에 따르면 "자산을 Perforce Helix (Publish)로 다시 제출"(p4 게시 및 p4 제출 의미)하지만 p4 조정은 언급하지 않았습니다. 스트림 작업 공간에서 최신 버전의 파일을 동기화 난 내 코드에 다음을 사용하고

:

는 젠킨스를 통해 제출 아직하지만 난 그것에 문서를 그래서 난 것입니다 찾을 수에 시도하지 않았다

line_ending = isUnix() ? 'UNIX' : 'WIN' 
checkout([ 
    $class: 'PerforceScm', 
    credential: '*****************************', 
    filter: [[$class: 'FilterPathImpl', path: '//Automation']], 
    populate: [$class: 'AutoCleanImpl', delete: false, modtime: false, parallel: [enable: false, minbytes: '1024', minfiles: '1', path: '/usr/local/bin/p4', threads: '4'], pin: '', quiet: true, replace: true], 
    workspace: [$class: 'ManualWorkspaceImpl', charset: 'none', name: "JENKINS-${NODE_NAME}", pinHost: false, spec: [allwrite: false, clobber: false, compress: false, line: line_ending, locked: true, modtime: false, rmdir: true, 
    streamName: '//<Stream_name>/name/...', 
    view: """ 
<Depot_path_to_sync>/...\t//JENKINS-${NODE_NAME}/<Depot_path_to_sync>/... 
<Depot_path_to_sync>/...\t//JENKINS-${NODE_NAME}/<Depot_path_to_sync>/..."""]] 
]) 
아마 그것을 처리하지만, 화해를 위해 나는 찾을 수 없으므로 나는 여기서 누군가와 화해의 예를 물었다. 제출과 함께 제공되므로 디버깅 시간이 부족할 수 있습니다.

+0

정확하게 당신의 질문은 무엇입니까? 시도해 보셨습니까? 예상 한대로 작동하지 않았습니다. 너 무슨 짓을 한거야? 그것은 무엇을 했는가? 너는 무엇을 기대 했는가? 'p4 publish' 명령은 없습니다. 그 명령이 존재한다면 그것이 무엇이라고 생각합니까? –

+0

주된 질문을 편집했습니다. @BryanPendleton – Oren

답변

0

외부에서 외부로 실행하는 명령 목록을 개발하는 것이 가장 쉬운 방법 일 것입니다. Jenkins가 실험하고 다른 것을 시도하는 것이 더 쉽습니다.

그런 다음은 Jenkins에서 명령 자동화에 대한 작업을합니다.

p4 reconcile은 클라이언트 컴퓨터의 작업 영역의 현재 상태를 매핑 한 파일의 헤드 개정과 비교하고 추가/편집/삭제/이동/etc에 필요한 파일을 엽니 다.

그런 다음 변경된 파일을 서버에 제출하려면 p4 submit을 별도로 발행하십시오.

솔직히 사람들이 이런 식으로 자동화하는 것이 일반적이지 않으므로 에 대해 더 자세히 설명 할 수 있습니다.

소스 코드에서 변경 내용을 추적하기 위해 '조정'방식을 사용하는 것은 대화 형 개발자에게 유용합니다. 대화 형 개발자는 IDE를 사용하여 소스 트리에서 로밍하고 다양한 변경을 수행 한 다음 나중에 원하는대로 변경할 수 있습니다. 변경 사항을 제출할 준비가되면 p4 reconcile을 실행하여 대화 형 편집 세션 중에 실제로 변경된 파일을 PERFORCE 서버가 파악하도록합니다.

사람들은 일반적으로 Jenkins를 사용하여 공유 빌드/테스트 환경을 자동화하고 개별 개발자가 수행하는 작업을 자동화하지 않습니다.

자동화 된 Jenkins 작업은 일반적으로 변경된 파일에 대해 매우 확신합니다. 자동화 된 작업은 매번 완전히 똑같은 변경 사항을 적용하기 때문입니다.

따라서 자동화 된 Jenkins 작업은 일반적으로 p4 edit 명령을 사용하여 파일 변경을 서버에 알린 다음 필요한 모든 변경을 수행 한 다음 p4 submit 명령을 사용하여 변경 내용을 제출합니다.

+0

먼저 감사드립니다. 특정 파일이 빌드 중에 변경되면 파일을 제출하기 위해 빌드 프로 시저를 적용합니다. 내 빌드가 실패한 경우 해당 파일도 생성되지 않습니다. – Oren

0

I의 설치 프로젝트를 빌드하고

p4publish는 P4 화해 않고 다음 P4 제출하나요 억지로와 젠킨스 파이프 라인을 사용하여 게시 할 수 있습니다. 로그를 볼 수 있습니다.

+0

제가 사용법을 읽고봤을 때, p4publish는 submit 명령을위한 것입니다. p4 조정 명령을 찾을 수 없습니다. 당신은 실용적인 예제를 첨부 할 수 있습니까? – Oren