GitHub webhook์ Jenkins์ ์ฐ๋ํ๋ ๊ฒ์ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ Jenkins์๊ฒ ์๋ฆฌ๋ ๋ฐฉ์์ด๋ค. ์ด๋ฅผ ํตํด ์์ค ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด๋ ๋ค๋ฅธ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ Jenkins์์ ์๋์ผ๋ก ๋น๋, ํ ์คํธ, ๋ฐฐํฌ ๋ฑ์ ์์ ์ ์ํํ ์ ์๋ค.
๋ฐ๋ผ์ github repository์ main branch์ push๊ฐ ๊ฐ์ง๋๋ฉด jenkins์์ ์๋์ผ๋ก ๋น๋ํ ์ ์๊ฒ ๋ง๋ค์ด์ค ๊ฒ์ด๋ค.
FreeStyle project๋ก ์์ฑํ๋ค.
Project Url์ ์ฐ๊ฒฐํ Repository Url์ ์ ์ด์ค๋ค.
Repository Url: Repository Url์ ์ ์ด์ค๋ค.
- Domain : Global credentials (unrestricted)
- Kind : Username with password
- Scope : Global(Jenkins, nodes, items, all child items, etc)
- Username : GitHub ์์ด๋
- password : GitHub ํจ์ค์๋
- ID : Credential์ ์ด๋ฆ (๋ณธ์ธ์ด ์์๋ณด๊ธฐ ํธํ๊ฒ ์์ฑ)
Tasks
clean build -x test # test๋ ์ ์ธํ๊ณ ๋น๋
jenkins์์ test๋ฅผ ํฌํจํ๊ณ ๋น๋๋ฅผ ํ๋ฉด ์๋ฌ๊ฐ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ด์ ์ ์ธ์์ผฐ๋ค.
URL์ ์์ ๊ฐ์ด EC2 ์ธ์คํด์ค์ IP์ ์ ํจ์ค๋ก ์ฐ๊ฒฐ๋๋ ํฌํธ๋ฅผ ์ค์ ํ๊ณ /github-webhook/ ์ ์ถ๊ฐํด์ค๋ค.
Example
์ด๋ ๊ฒ๊น์ง ์ค์ ํ์ จ๋ค๋ฉด ํด๋น repository๋ฅผ push ํ๋ฉด jenkins์์ build๋ฅผ ์์ํ๋ค.