728x90
솔루션 개발을 하면서 협업 시 브랜치 전략이 중요하다는 사실을 깨달았다. 그래서 git flow에 대해 학습하여 실무에 적용하였고 그 과정에서 jenkins에 job을 등록할 때 브랜치별로 등록을 해놓면 편리하겠다는 생각이 들어 실무에 적용해보았다.
git hooks에 대해 잘 모른다면 아래 글을 읽고 보면 더 잘 이해가 될 것 이다.(0탄부터 쭉 읽어보시길 추천)
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 -i -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 -i -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