[Jenkins] GIT변경점 > Build With Param > 간단한 파이프라인 구성해보기

  1. Git 브랜치 Diff로 변경점을 파악하여 파일리스트만 따로 빼낸다.
    git diff –name-only origin/master origin/develop > /home/fileList.lst
  2. 재가공이 필요하다면 필요에 따라 sed써서 replace..
    sed -i ‘s/src\/main\/webapp\//\/www\/html\//g’ /home/fileList.lst
     3. Active Choices Parameter 플러그인 설치한다. (위 파일리스트를 파라미터로 제공하기 위해)
         https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin
     4. 위에서 떨궈준 리스트파일에서 라인단위로 읽어 제공하는 Groovy Script를 작성한다.

def words = []
new File( '/home/fileList.lst' ).eachLine { line ->
    words << line
}

// print them out
words.each {
    println it
}

    5. 옵션에서 Multi Select가 선택가능하도록 함.

    6. 해당 파라미터는 콤마를 Delimiter로 넘어오게 된다.
        아래와 같이 ,를 Delimiter로 잘라 쓰도록….활용할 수 있다.
        deployFiles = 위에서 정해준 param이름

echo $deployFiles
if [ -z "$deployFiles" ]
  then
    echo "Please Select DeployFiles!"
    exit 1
fi
FILES=$deployFiles
for file in $(echo $FILES | sed "s/,/ /g")
do
echo ${file}
done

 

       7. Groovy PostBuild 플러그인을 설치했다면 https://wiki.jenkins.io/display/JENKINS/Groovy+Postbuild+Plugin
           아래와 같은 Groovy 스크립트 작성으로 빌드 히스토리 혹은 빌드 상세페이지에 내가 올린 파람을 출력하여 바로 보게 할 수 있다.

def values = "${manager.build.buildVariables.get('deployFiles')}".split(',')
values.each{ value ->
manager.createSummary("save.gif").appendText("${value}", false, false, false, "black")
manager.addShortText("${value}", "black", "white", "0px", "white")
}

You may also like...

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.