๐ค ์์งlog ๐ค
[CI/CD study] - 9. Jenkins File ๋ณธ๋ฌธ
๐ฉ๐ป ํ์๋ ์ง๊ธ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ธฐ ์ํด CI/CD ์ฐ์ต์ค ์ธ ์ํฉ์ด๊ณ ,
7-1 ์ ๊ฐ์ธ์ฉ Gitea์ ์ฐ๋,
7-2 ์ ํ๋ก์ ํธ์ฉ ์ฌ์ค๋ง ์ฐ๋ ์ ๋๋ค. ๐ฉ๐ป
์ด์ ๊ธ๋ค์ ์ฐธ๊ณ ํด์ ๋ฐ๋ผ ์ค์ จ๋ค๋ฉด ๋ช๊ฐ์ง ์ถ๊ฐ ๋ถํ๋๋ฆฝ๋๋ค.
๋์๋ณด๋ โก Jenkins ๊ด๋ฆฌ โก Plugin ๊ด๋ฆฌ โก ์ค์น ๊ฐ๋ฅ โก
Multibranch Scan Webhook Trigger ์ค์นํด์ฃผ๊ธฐ
๋ง๋ค์ด๋ Multibranch pipeline repository ์ด๋ฆ์ ํ์ดํ ํด๋ฆญ โก Configure ํด๋ฆญ
์ฐ๊ฒฐ ํด๋์๋ Branch Sources ์ Gitea server ์๋์ Behaviours ์ Property strategy ๋ฅผ ์ฌ์ง๋๋ก ์ค์
* ์๋ Add ๋ฒํผ ํด๋ฆญํ Filter by name (with regular expression) ์ถ๊ฐ ํ " (main.*) " ์์ฑ
Build Configuration์ Jenkins-file์ด default ๊ฐ์ผ๋ก ๋์ด์์์ผ๋ก ๊ทธ๋๋ก ๋๊ณ ๋์ด๊ฐ๊ธฐ
๊ธ ๋งจ์ Multibranch Scan Webhook Trigger ํ๋ฌ๊ทธ์ธ์ ์ค์น ํ๋ค๋ฉด
Scan Multibranch Pipeline Triggers ์ด ์๊ธฐ๊ณ ๋๋ค ์ฒดํฌ๋ฐ์ค ์ ํํ ์ฌ์ง๊ณผ ๊ฐ์ด ์์ฑ
* Trigger token ์ด๋ฆ์ Gitea์์ webhook ์ค์ ์ ํ ๋ header์ ๋ด์ token์
์ง์ ํด์ฃผ๋ ๊ฑฐ๊ธฐ ๋๋ฌธ์ ์์ ์ด ์ํ๋ ์ด๋ฆ์ผ๋ก ์ง์ ํด์ฃผ๋ฉด ๋จ
์ผ์ชฝ ํ๋จ Save ํด๋ฆญ
๐ฃ Jenkins File ๋ง๋ค๊ธฐ
๊ธฐ์กด Gitea ์ Jenkins ์ฐ๋๋ ๋ง๋ค์ด๋ VSCODE ํ์ผ์
์ํ์ผ โก Jenkinsfile ์ ๋ง๋ค๋ฉด ์์ ์จ์ผ๊ตด ๋ชจ์์ ํ์ผ์ด ์์ฑ๋จ
pipeline {
agent any
stages {
stage('stage 1'){
steps {
echo "Hello world"
}
}
}
}
ํ์ผ์ ์ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๊ณ push
push ํ ๋
โจ๏ธ git commit -m "second commit"
โจ๏ธ git add Jenkinsfile
โจ๏ธ git commit -m "second commit"
โจ๏ธ git push origin main
Gitea Repository ์ Commit ๋๊ฒ ํ์ธ
Jenkins ๋ก ๋์๊ฐ์ ๋ค์ Scan + Log ํด๋ณด๊ธฐ
Jenkins-file Found ์๋ฃ โญ๏ธ
๐ฃWephook ์ค์
Gitea ์์ ๋ ํฌ์งํ ๋ฆฌ ํด๋ฆญ ์ฐ์ธก์ ์ค์ โก ์นํ โก webhook ์ถ๊ฐ โก Gitea ํด๋ฆญ
URL ์๋ http://์ ํจ์ค์ฃผ์/multibranch-webhook-trigger/invoke?token=(Trigger token)
* (Trigger token) ์๋ ์์ ์ค์ ํ๋ Scan by webhook ์ Trigger token ์ ์ด์ฃผ๊ธฐ
Webhook ๊ฐฑ์
webhook ๊ฐฑ์ ๋ฐ
" ์ ๋ฌ ์ํ " ๋ฒํผ์ ํตํด test๋ฅผ ์งํ
์ค๋ฅ๊ฐ ๊ณ์ ๋์ (๋ฏผ๋งํ๋๊น ์๊ฒ..ใ ๐คฆโ๏ธ) ์ฌ๊ธฐ์ ๊ธฐ ๋ฌธ์๋๋ฆฌ๋ค๊ฐ
Gitea ์ฌ์ค๋ง์ ์ด์ฉ์ค์ธ ์ํ๋ผ EC2์์ ์ธ๋ฐ์ด๋๊ท์น ์์ ํฌํธ ๋ฅผ Public์ผ๋ก ์ด์ด์ฃผ๋๊น ๋ฐ๋ก ์นํ ์ฑ๊ณตใ
์นํ ์ฑ๊ณต โญ๏ธ
+ ์ถ๊ฐ๋ก
์ฝ๋ ์์ฑํ Gitea ์ ์ปค๋ฐ ํ์๋
Jenkins ์์ ๋น๋ ๊ฐ ์๋ํ๋๊ฒ์ ํ์ธ ํ ์ ์๋ค
โค๏ธ ๋์์ฃผ์ ๋ถ :
'๐ DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CI/CD study] - 11. NPM Build (0) | 2022.10.14 |
---|---|
[CI/CD study] - 10. Jenkins์ Sonarqube ์ฐ๋ํ๊ธฐ (0) | 2022.10.14 |
[CI/CD study] - 8. Docker ์ Sonarqube ์ค์นํ๊ธฐ (0) | 2022.10.14 |
[CI/CD study] - 7-2. Jenkins์ Gitea ์ฐ๋ํ๊ธฐ (0) | 2022.10.11 |
[CI/CD study] - 7-1. Jenkins์ Gitea ์ฐ๋ํ๊ธฐ (1) | 2022.10.05 |