728x90

솔루션 개발을 하면서 협업 시 브랜치 전략이 중요하다는 사실을 깨달았다. 그래서 git flow에 대해 학습하여 실무에 적용하였고 그 과정에서 jenkins에 job을 등록할 때 브랜치별로 등록을 해놓면 편리하겠다는 생각이 들어 실무에 적용해보았다.

 

git hooks에 대해 잘 모른다면 아래 글을 읽고 보면 더 잘 이해가 될 것 이다.(0탄부터 쭉 읽어보시길 추천)

https://jfbta.tistory.com/233

 

Jenkins 7탄 ] git hooks 설정 방법 / git commit 시 젠킨스 자동 빌드 실행 방법

1. git 원격 서버로 ssh 접속 2. 프로젝트 clone받는 위치로 이동하면 hooks 파일이 존재할 것이다. # cd hooks 3. post-receive 파일 편집기 실행 # vim post-receive 4. 아래 내용 입력 후 저장 curl -i -X POST "http://admi

jfbta.tistory.com


vim post-receive 실행 후 내용을 다음과 같이 채운다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
 
while read oldrev newrev refname;
do
        branch=$(git rev-parse --symbolic --abbrev-ref $refname)
        # 브랜치가 develop인 경우 실행
        if [[ "$branch" == "develop" ]]; then
                echo "jenkins build start"
                curl --X POST "http://admin:11ff36bb9b5921116cb535c40e57a09b5e@10.10.50.158:9000/job/web_dev/build?token=remoteCall"
        # 브랜치가 master인 경우 실행
        elif [[ "$branch" == "master" ]]; then
                echo "jenkins build start"
                curl --X POST "http://admin:11ff36bb9b5921116cb535c40e57a09b5e@10.10.50.158:9000/job/web_util/build?token=remoteCall"
        else
                echo "jenkins will not build: $branch"
        fi
done
cs

jenkins에 2개의 job을 등록한 후 각 브랜치별로 커밋이 발생할 때 build를 실행하도록 파이프라인을 구축하였다. 

728x90
TOP