2017-12-06 1 views
0

Jenkins ver. 2.73.3빌드에서 사용자 정보 추출

Github 저장소에 대한 커밋에 의해 트리거되는 샘플 빌드 작업이 있습니다. 이 빌드 정보가 모습입니다 : 우리는 별도의 파일이 사용자 이름을 작성하고 특정 위치에 저장해야

enter image description here

. 그것을 어떻게 성취 할 수 있습니까?

********** 편집 -1 ********** GIT_COMMITTER_NAME 변수를 파일에 쓰는 셸 명령을 실행하는 빌드 단계가 추가되었습니다. 이것은 실패 (빈 파일)하지만, 쓰기 JENKINS_URL을 말한다면, 그것은 파일에 기록됩니다 :

enter image description here

+0

더 많은 정보가 필요합니다 - 어떤 OS/파일 시스템을 사용하고 있습니까? 어떤 유형의 일이 파이프 라인 일입니까? groovy 스크립팅 또는 플러그인을 사용하여 bash/batch (OS 종속적) 스크립팅을 허용하는 빌드 단계를 추가 했습니까? 너 뭐 해봤 니? – Jay

+0

1. Jenkins가 RHEL7에서 실행 중임 2. 파이프 라인이 아닌 '프리 스타일'작업 빌드를 트리거 한 (Github) 사용자에 대한 정보가 빌드 정보에 이미 반영되어 있습니다. 궁금 해서요. 그냥 추출하는 방법이 있다면. 이 플러그인이 필요합니까? –

+0

셸 실행 빌드 단계를 추가하면 GIT_AUTHOR_NAME 환경 변수에 액세스 할 수 있습니까? 즉'echo $ GIT_AUTHOR_NAME' - 이것은 당신에게 당신이받은 가치를 제공합니까? – Jay

답변

0

내가, GIT_AUTHOR_NAME 같은 변수 GIT_AUTHOR_EMAIL 등 기본적으로 github의 플러그인 설정하지 않는 것 같아요 this 답을 얻으려면 자리 표시 자의 'pretty option'이 git show 명령으로 진행되었습니다.

git show -s --pretty='GIT_AUTHOR_NAME='%aN%n'GIT_AUTHOR_EMAIL='%aE%n'GIT_COMMITTER_NAME='%cN%n'GIT_COMMITTER_EMAIL='%cE >> github.properties 

가 출력 : 이름은 쉘에서 env을 실행

GIT_AUTHOR_NAME=LastName FirstName 
[email protected] 
GIT_COMMITTER_NAME=GitHub Enterprise 
[email protected] 
0

대신 echo $variable의, 그것은 당신에게 모든 환경 변수를 줄 것이다 나는 젠킨스 작업의 '실행 쉘'빌드 단계에서 다음 명령을 추가 실행 시점에 올바른 변수를 선택할 수 있습니다. (Gitlab에서 Jenkins에 이르기까지 $gitlabUserName)

+0

당신은>은 빈 이름 –

+1

더, 당신의 실행 쉘 상자에 단지'env'을 유지하고 망할 놈의 코드를 밀어 얻기 github.properties "" ENV 같은 "GIT_AUTHOR_NAME = \"$ GIT_AUTHOR_NAME \ 에코를 의미 할 때 작업 트리거되고 콘솔로 이동하여 모든 변수를 사용할 수 있는지 확인하십시오. – Dhananjay

+0

그건 좋은 제안 이었어. 나는 몇 가지 env를 본다. GIT_AUTHOR_NAME, GIT_COMMITTER_EMAIL 등이 누락되었습니다 (플러그인이 설정하지 않은 것 같습니다). –