코드 리뷰 겸 검증 되지 않은 코드가 배포 되지 않기 위해 git release branch 에는 모두 merge request 를 통해서 merge 하고 있다.
merge request 후 메신저로 공유 하는데 이 과정을 자동화 하기 위해서 gitlab 에서 merge request 하면 자동으로 메신저(JANDI 기준)에 웹훅을 보낸다.
test:
stage: test
script: sh ./webhook.sh $CI_PROJECT_NAME $CI_PROJECT_URL $GITLAB_USER_EMAIL
only:
- merge_requests
CI_PROJECT_NAME=$1
CI_PROJECT_URL=$2
GITLAB_USER_EMAIL=$3
post_data()
{
cat <<EOF
{
"body": "앙~ 머지띠~.",
"connectColor": "#f3bef0",
"connectInfo": [
{
"title": "$CI_PROJECT_NAME",
"description": "누가함 : $GITLAB_USER_EMAIL "
},
{
"title": "MERGE REQUEST URL",
"description": "$CI_PROJECT_URL/merge_requests"
},
{
"title": "GIT LAB PROJECT URL",
"description": "$CI_PROJECT_URL"
}
]
}
EOF
}
curl \
-X POST {잔디 웹훅 url} \
-H "Accept: application/vnd.tosslab.jandi-v2+json" \
-H "Content-Type: application/json" \
--data "$(post_data)"
https://docs.gitlab.com/runner/register/