๋ฆด๋ฆฌ์ค์ ๊ธฐ๋ณธ์ ์๋ก์ด ์คํ
์ด์ง ์คํ ๋ฆฌ์ง ์ํคํ
์ฒ์ ๋ ์์ง๊ธฐ(Stapel ๋ฐ Dockerfile์ฉ) ์์
์ ์ต์ ํ์
๋๋ค. ์๋ก์ด ์คํ ๋ฆฌ์ง ์ํคํ
์ฒ๋ ์ฌ๋ฌ ํธ์คํธ์ ๋ถ์ฐ ์ด์
๋ธ๋ฆฌ์ ๋์ผํ ํธ์คํธ์ ๋ณ๋ ฌ ์ด์
๋ธ๋ฆฌ๋ฅผ ๊ตฌํํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค๋๋ค.
์์
์ต์ ํ์๋ ๋จ๊ณ ์๋ช
๊ณ์ฐ ๋จ๊ณ์์ ๋ถํ์ํ ๊ณ์ฐ์ ์ ๊ฑฐํ๊ณ ํ์ผ ์ฒดํฌ์ฌ ๊ณ์ฐ ๋ฉ์ปค๋์ฆ์ ๋ณด๋ค ํจ์จ์ ์ธ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ์ด ์ต์ ํ๋ werf๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ ๋น๋์ ํ๊ท ์๊ฐ์ ๋จ์ถํฉ๋๋ค. ์ ํด ๋น๋(๋ชจ๋ ๋จ๊ณ๊ฐ ์บ์์ ์กด์ฌํ๋ ๊ฒฝ์ฐ) ์คํ
์ด์ง ์ ์ฅ, ์ด์ ์ ๋ง ๋น ๋ฆ
๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋น๋๋ฅผ ๋ค์ ์์ํ๋ ๋ฐ๋ 1์ด๋ ์ฑ ๊ฑธ๋ฆฌ์ง ์์ต๋๋ค! ์ด๋ ํ ์์
๊ณผ์ ์ ๋จ๊ณ๋ฅผ ํ์ธํ๋ ์ ์ฐจ์๋ ์ ์ฉ๋ฉ๋๋ค. werf deploy
ะธ werf run
.
๋ํ ์ด๋ฒ ๋ฆด๋ฆฌ์ค์์๋ ์ฝํ ์ธ ๋ณ๋ก ์ด๋ฏธ์ง์ ํ๊ทธ๋ฅผ ์ง์ ํ๋ ์ ๋ต์ด ๋ํ๋ฌ์ต๋๋ค. ์ฝํ ์ธ ๊ธฐ๋ฐ ํ๊ทธ ์ง์ , ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ผ๋ฉฐ ๊ถ์ฅ๋๋ ์ ์ผํ ์ต์ ์ ๋๋ค.
werf v1.1์ ์ฃผ์ ํ์ ์ฌํญ์ ์์ธํ ์ดํด๋ณด๋ ๋์์ ๋ฏธ๋์ ๋ํ ๊ณํ๋ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
werf v1.1์์ ๋ฌด์์ด ๋ณ๊ฒฝ๋์๋์?
์บ์์์ ๋จ๊ณ๋ฅผ ์ ํํ๊ธฐ ์ํ ์๋ก์ด ๋จ๊ณ ์ด๋ฆ ์ง์ ํ์ ๋ฐ ์๊ณ ๋ฆฌ์ฆ
์๋ก์ด ๋ฌด๋ ์ด๋ฆ ์์ฑ ๊ท์น. ์ด์ ๊ฐ ๋จ๊ณ ๋น๋๋ ์๋ช (v2๊ณผ ๋์ผ)๊ณผ ๊ณ ์ ํ ์์ ์๋ณ์๋ผ๋ ๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋ ๊ณ ์ ํ ๋จ๊ณ ์ด๋ฆ์ ์์ฑํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ์ฒด ์คํ ์ด์ง ์ด๋ฏธ์ง ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
werf-stages-storage/myproject:d2c5ad3d2c9fcd9e57b50edd9cb26c32d156165eb355318cebc3412b-1582656767835
...๋๋ ์ผ๋ฐ์ ์ผ๋ก:
werf-stages-storage/PROJECT:SIGNATURE-TIMESTAMP_MILLISEC
ะะดะตัั :
-
SIGNATURE
์คํ ์ด์ง ์ฝํ ์ธ ์ ์๋ณ์๋ฅผ ๋ํ๋ด๋ฉฐ ์ด ์ฝํ ์ธ ๋ก ์ด์ด์ง Git์ ํธ์ง ๋ด์ญ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ์คํ ์ด์ง ์๋ช ์ ๋๋ค. -
TIMESTAMP_MILLISEC
์ ์ด๋ฏธ์ง๊ฐ ๋น๋๋ ๋ ์์ฑ๋๋ ๋ณด์ฅ๋ ๊ณ ์ ์ด๋ฏธ์ง ์๋ณ์์ ๋๋ค.
์บ์์์ ๋จ๊ณ๋ฅผ ์ ํํ๋ ์๊ณ ๋ฆฌ์ฆ์ Git ์ปค๋ฐ์ ๊ด๊ณ ํ์ธ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- Werf๋ ํน์ ๋จ๊ณ์ ์๊ทธ๋์ฒ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ะ ์คํ ์ด์ง ์ ์ฅ ํน์ ์๋ช ์๋ ์ฌ๋ฌ ๋จ๊ณ๊ฐ ์์ ์ ์์ต๋๋ค. Werf๋ ์๋ช ๊ณผ ์ผ์นํ๋ ๋ชจ๋ ๋จ๊ณ๋ฅผ ์ ํํฉ๋๋ค.
- ํ์ฌ ๋จ๊ณ๊ฐ Git(git-archive, Git ํจ์น๊ฐ ์๋ ์ฌ์ฉ์ ์ ์ ๋จ๊ณ)์ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ:
install
,beforeSetup
,setup
; ๋๋ git-latest-patch), werf๋ ํ์ฌ ์ปค๋ฐ(๋น๋๊ฐ ํธ์ถ๋จ)์ ์กฐ์์ธ ์ปค๋ฐ๊ณผ ์ฐ๊ฒฐ๋ ๋จ๊ณ๋ง ์ ํํฉ๋๋ค. - ๋๋จธ์ง ์ ํฉํ ๋จ๊ณ ์ค์์ ์์ฑ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ฅ ์ค๋๋ ๋จ๊ณ ์ค ํ๋๊ฐ ์ ํ๋ฉ๋๋ค.
์๋ก ๋ค๋ฅธ Git ๋ธ๋์น์ ์คํ ์ด์ง๋ ๋์ผํ ์๋ช ์ ๊ฐ์ง ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ werf๋ ์๋ช ์ด ์ผ์นํ๋๋ผ๋ ๋ค๋ฅธ ๋ถ๊ธฐ์ ์ฐ๊ด๋ ์บ์๊ฐ ์ด๋ฌํ ๋ถ๊ธฐ ๊ฐ์ ์ฌ์ฉ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
์คํ ์ด์ง ์ ์ฅ์์ ์คํ ์ด์ง๋ฅผ ์์ฑํ๊ณ ์ ์ฅํ๋ ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ
์บ์์์ ๋จ๊ณ๋ฅผ ์ ํํ ๋ werf๊ฐ ์ ํฉํ ๋จ๊ณ๋ฅผ ์ฐพ์ง ๋ชปํ๋ฉด ์ ๋จ๊ณ๋ฅผ ์กฐ๋ฆฝํ๋ ํ๋ก์ธ์ค๊ฐ ์์๋ฉ๋๋ค.
ํ๋ ์ด์์ ํธ์คํธ์์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๊ฑฐ์ ๋์์ ๋์ผํ ๋จ๊ณ ๊ตฌ์ถ์ ์์ํ ์ ์์ต๋๋ค. Werf๋ ๋๊ด์ ์ฐจ๋จ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ์คํ ์ด์ง ์ ์ฅ ์๋ก ์์ง๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๋ ์๊ฐ ์คํ ์ด์ง ์ ์ฅ. ์ด๋ ๊ฒ ํ๋ฉด ์ ์คํ ์ด์ง ๋น๋๊ฐ ์ค๋น๋๋ฉด werf ๋ธ๋ก์ด ์คํ ์ด์ง ์ ์ฅ ์ ์ ํ ์ด๋ฏธ์ง๊ฐ ๋ ์ด์ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ์๋ง ์๋ก ์์ง๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํฉ๋๋ค. (์๋ช ๋ฐ ๊ธฐํ ๋งค๊ฐ๋ณ์ ๊ธฐ์ค - ์บ์์์ ๋จ๊ณ๋ฅผ ์ ํํ๋ ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ ์ฐธ์กฐ).
์๋ก ์กฐ๋ฆฝ๋ ์ด๋ฏธ์ง๋ ๋ค์์ ํตํด ๊ณ ์ ํ ์๋ณ์๋ฅผ ๊ฐ๋๋ก ๋ณด์ฅ๋ฉ๋๋ค. TIMESTAMP_MILLISEC
(์๋ก์ด ์คํ
์ด์ง ์ด๋ฆ ์ง์ ํ์ ์ฐธ์กฐ). ๊ฒฝ์ฐ์ ์คํ
์ด์ง ์ ์ฅ ์ ์ ํ ์ด๋ฏธ์ง๊ฐ ๋ฐ๊ฒฌ๋๋ฉด werf๋ ์๋ก ์ปดํ์ผ๋ ์ด๋ฏธ์ง๋ฅผ ์ญ์ ํ๊ณ ์บ์์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฆ, ์ด๋ฏธ์ง ๋น๋๋ฅผ ์๋ฃํ๋ ์ฒซ ๋ฒ์งธ ํ๋ก์ธ์ค(๊ฐ์ฅ ๋น ๋ฅธ ํ๋ก์ธ์ค)๋ ์ด๋ฅผ ์คํ ์ด์ง ์คํ ๋ฆฌ์ง์ ์ ์ฅํ ์ ์๋ ๊ถํ์ ๊ฐ๊ฒ ๋ฉ๋๋ค(๊ทธ๋ฐ ๋ค์ ์ด ๋จ์ผ ์ด๋ฏธ์ง๊ฐ ๋ชจ๋ ๋น๋์ ์ฌ์ฉ๋ฉ๋๋ค). ๋๋ฆฐ ๋น๋ ํ๋ก์ธ์ค๋ ๋ ๋น ๋ฅธ ํ๋ก์ธ์ค๊ฐ ํ์ฌ ๋จ๊ณ์ ๋น๋ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ณ ๋ค์ ๋น๋๋ก ์ด๋ํ๋ ๊ฒ์ ๊ฒฐ์ฝ ์ฐจ๋จํ์ง ์์ต๋๋ค.
ํฅ์๋ Dockerfile ๋น๋ ์ฑ๋ฅ
ํ์ฌ Dockerfile์์ ๋น๋๋ ์ด๋ฏธ์ง์ ๋จ๊ณ ํ์ดํ๋ผ์ธ์ ๋ค์๊ณผ ๊ฐ์ ํ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. dockerfile
. ์๋ช
์ ๊ณ์ฐํ ๋ ํ์ผ์ ์ฒดํฌ์ฌ์ด ๊ณ์ฐ๋ฉ๋๋ค. context
, ์กฐ๋ฆฝ ์ค์ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ฐ์ ์ด์ ์๋ werf๋ ๋ชจ๋ ํ์ผ์ ์ฌ๊ท์ ์ผ๋ก ํ์ํ๊ณ ๊ฐ ํ์ผ์ ์ปจํ
์คํธ์ ๋ชจ๋๋ฅผ ํฉ์ฐํ์ฌ ์ฒดํฌ์ฌ์ ์ป์์ต๋๋ค. v1.1๋ถํฐ werf๋ Git ์ ์ฅ์์ ์ ์ฅ๋ ๊ณ์ฐ๋ ์ฒดํฌ์ฌ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. .dockerignore
ํ์ํ ๊ฒฝ์ฐ์๋ง ํ์ผ ํธ๋ฆฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ํ์ผ ์์คํ
์ฝ๊ธฐ์ ํฌ๊ธฐ์ ๋ํ ์๊ณ ๋ฆฌ์ฆ์ ์์กด์ฑ์ ๋ถ๋ฆฌํ์ต๋๋ค. context
์ค์ํ์ง ์์ต๋๋ค.
๋ํ ์๊ณ ๋ฆฌ์ฆ์ ์ถ์ ๋์ง ์์ ํ์ผ์ ํ์ธํ๊ณ ํ์ํ ๊ฒฝ์ฐ ์ฒดํฌ์ฌ์์ ํด๋น ํ์ผ์ ๊ณ ๋ คํฉ๋๋ค.
ํ์ผ์ ๊ฐ์ ธ์ฌ ๋ ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค.
werf v1.1 ๋ฒ์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ rsync ์๋ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
macOS์์์ ๊ฐ์ ธ์ค๊ธฐ ์ฑ๋ฅ์ ๋ ์ด์ Docker ๋ณผ๋ฅจ์ ์ํด ์ ํ๋์ง ์์ผ๋ฉฐ Linux ๋ฐ Windows์ ๋์ผํ ์๊ฐ ๋ด์ ๊ฐ์ ธ์ค๊ธฐ๊ฐ ์๋ฃ๋ฉ๋๋ค.
์ฝํ ์ธ ๊ธฐ๋ฐ ํ๊ทธ ์ง์
Werf v1.1์ ์์ ์ด๋ฏธ์ง ์ฝํ ์ธ ๋ณ ํ๊ทธ ์ง์ ์ ์ง์ํฉ๋๋ค. ์ฝํ ์ธ ๊ธฐ๋ฐ ํ๊ทธ ์ง์ . ๊ฒฐ๊ณผ Docker ์ด๋ฏธ์ง์ ํ๊ทธ๋ ์ด๋ฌํ ์ด๋ฏธ์ง์ ๋ด์ฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
๋ช
๋ น์ ์คํํ ๋ werf publish --tags-by-stages-signature
๋๋ werf ci-env --tagging-strategy=stages-signature
์ด๋ฅธ๋ฐ '์ฌ์ง'์ ๊ณต๊ฐํ๋ค. ๋ฌด๋ ์๋ช
์์. ๊ฐ ์ด๋ฏธ์ง์๋ ์ด ์ด๋ฏธ์ง ๋จ๊ณ์ ๊ณ ์ ํ ์๋ช
์ด ํ๊ทธ๋ก ์ง์ ๋ฉ๋๋ค. ์ด๋ ๊ฐ ๋จ๊ณ์ ์ผ๋ฐ ์๋ช
๊ณผ ๋์ผํ ๊ท์น์ ๋ฐ๋ผ ๊ฐ๋ณ์ ์ผ๋ก ๊ณ์ฐ๋์ง๋ง ์ด๋ฏธ์ง์ ์ผ๋ฐ์ ์ธ ์๋ณ์์
๋๋ค.
์ด๋ฏธ์ง ๋จ๊ณ์ ์๋ช ์ ๋ค์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
- ์ด ์ด๋ฏธ์ง์ ๋ด์ฉ;
- ์ด ์ฝํ ์ธ ๋ก ์ด์ด์ง Git ๋ณ๊ฒฝ ๋ด์ญ์ ๋๋ค.
Git ์ ์ฅ์์๋ ํญ์ ์ด๋ฏธ์ง ํ์ผ์ ๋ด์ฉ์ ๋ณ๊ฒฝํ์ง ์๋ ๋๋ฏธ ์ปค๋ฐ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฃผ์๋ง ์๋ ์ปค๋ฐ, ๋ณํฉ ์ปค๋ฐ, Git์์ ์ด๋ฏธ์ง๋ก ๊ฐ์ ธ์ค์ง ์์ ํ์ผ์ ๋ณ๊ฒฝํ๋ ์ปค๋ฐ ๋ฑ์ด ์์ต๋๋ค.
์ฝํ ์ธ ๊ธฐ๋ฐ ํ๊น ์ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ์ง์ ์ฝํ ์ธ ๊ฐ ๋ณ๊ฒฝ๋์ง ์์ ๊ฒฝ์ฐ์๋ ์ด๋ฏธ์ง ์ด๋ฆ ๋ณ๊ฒฝ์ผ๋ก ์ธํด Kubernetes์์ ์ ํ๋ฆฌ์ผ์ด์ Pod๊ฐ ๋ถํ์ํ๊ฒ ๋ค์ ์์๋๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ด๊ฒ์ด ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง์ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๋จ์ผ Git ์ ์ฅ์์ ์ ์ฅํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ ์ด์ ์ค ํ๋์ ๋๋ค.
๋ํ ์ฝํ ์ธ ๊ธฐ๋ฐ ํ๊น ์ Git ๋ธ๋์น์ ํ๊ทธ๋ฅผ ์ง์ ํ๋ ๊ฒ๋ณด๋ค ๋ ์์ ์ ์ธ ํ๊น ๋ฐฉ๋ฒ์ ๋๋ค. ๊ฒฐ๊ณผ ์ด๋ฏธ์ง์ ์ฝํ ์ธ ๋ ๋์ผํ ๋ธ๋์น์ ์ฌ๋ฌ ์ปค๋ฐ์ ์กฐํฉํ๊ธฐ ์ํด CI ์์คํ ์์ ํ์ดํ๋ผ์ธ์ด ์คํ๋๋ ์์์ ์์กดํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ค์ํ ์ผ์ด์ผ: ์ง๊ธ๋ถํฐ ์คํ
์ด์ง ์๊ทธ๋์ฒ -๊ฐ์ ์ ์ผํ๊ฒ ๊ถ์ฅ๋๋ ํ๊ทธ ์ ๋ต. ๋ช
๋ น์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. werf ci-env
(๋ค๋ฅธ ํ๊ทธ ์ง์ ์ฒด๊ณ๋ฅผ ๋ช
์์ ์ผ๋ก ์ง์ ํ์ง ์๋ ํ)
๋ก๊น ์์ค
์ด์ ์ฌ์ฉ์๋ ์ถ๋ ฅ์ ์ ์ดํ๊ณ , ๋ก๊น
์์ค์ ์ค์ ํ๊ณ , ๋๋ฒ๊น
์ ๋ณด๋ก ์์
ํ ์ ์์ต๋๋ค. ์ต์
์ด ์ถ๊ฐ๋์์ต๋๋ค --log-quiet
, --log-verbose
, --log-debug
.
๊ธฐ๋ณธ์ ์ผ๋ก ์ถ๋ ฅ์๋ ์ต์ํ์ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค.
์์ธํ ์ถ๋ ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ(--log-verbose
) werf๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณผ ์ ์์ต๋๋ค:
์์ธ ์ถ๋ ฅ(--log-debug
)์๋ werf ๋๋ฒ๊น
์ ๋ณด ์ธ์๋ ์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ก๊ทธ๋ ํฌํจ๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Docker Registry์์ ์ํธ ์์ฉ์ด ์ด๋ป๊ฒ ๋ฐ์ํ๋์ง ํ์ธํ๊ณ ์๋นํ ์๊ฐ์ด ์์๋๋ ์ฅ์๋ ๊ธฐ๋กํ ์ ์์ต๋๋ค.
์ถ๊ฐ ๊ณํ
๊ฒฝ๊ณ ! ์๋์ ์ค๋ช
๋ ์ต์
์ด ํ์๋์ด ์์ต๋๋ค. v1.1 ์ด ๋ฒ์ ์์ ์ฌ์ฉํ ์ ์๊ฒ ๋ ์์ ์ด๋ฉฐ, ๊ทธ ์ค ๋๋ถ๋ถ์ ๊ฐ๊น์ด ์์ผ ๋ด์ ์ ๊ณต๋ ์์ ์
๋๋ค. ์
๋ฐ์ดํธ๋ ์๋ ์
๋ฐ์ดํธ๋ฅผ ํตํด ์ ๊ณต๋ฉ๋๋ค.
๋ค์ํ Docker ๋ ์ง์คํธ๋ฆฌ ๊ตฌํ์ ๋ํ ์ ์ฒด ์ง์(์ ๊ท)
- ๋ฒ์ : v1.1
- ๋ ์ง: XNUMX์
-
๋ฐํ๋ฌผ
๋ชฉํ๋ ์ฌ์ฉ์๊ฐ werf๋ฅผ ์ฌ์ฉํ ๋ ์ ํ ์์ด ์ฌ์ฉ์ ์ ์ ๊ตฌํ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
ํ์ฌ ์ฐ๋ฆฌ๋ ์์ ํ ์ง์์ ๋ณด์ฅํ ๋ค์๊ณผ ๊ฐ์ ์๋ฃจ์ ์ธํธ๋ฅผ ์๋ณํ์ต๋๋ค.
- ๊ธฐ๋ณธ๊ฐ(๋ผ์ด๋ธ๋ฌ๋ฆฌ/๋ ์ง์คํธ๋ฆฌ)*,
- AWS ECR
- ํ๋๋น*,
- ๋์ปค ํ๋ธ
- GCR*,
- GitHub ํจํค์ง
- GitLab ๋ ์ง์คํธ๋ฆฌ*,
- ํญ๊ตฌ*,
- ๋ถ๋.
ํ์ฌ werf์์ ์๋ฒฝํ๊ฒ ์ง์๋๋ ์๋ฃจ์ ์๋ ๋ณํ๊ฐ ํ์๋์ด ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ๋ ์ง์์ด ์์ง๋ง ์ ํ์ด ์์ต๋๋ค.
๋ ๊ฐ์ง ์ฃผ์ ๋ฌธ์ ๋ฅผ ์๋ณํ ์ ์์ต๋๋ค.
- ์ผ๋ถ ์๋ฃจ์ ์ Docker Registry API๋ฅผ ์ฌ์ฉํ ํ๊ทธ ์ ๊ฑฐ๋ฅผ ์ง์ํ์ง ์์ผ๋ฏ๋ก ์ฌ์ฉ์๊ฐ werf์ ์๋ ์ ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ AWS ECR, Docker Hub ๋ฐ GitHub ํจํค์ง์ ํด๋น๋ฉ๋๋ค.
- ์ผ๋ถ ์๋ฃจ์ ์ ์์ ์ค์ฒฉ๋ ๋ฆฌํฌ์งํ ๋ฆฌ(Docker Hub, GitHub ํจํค์ง ๋ฐ Quay)๋ฅผ ์ง์ํ์ง ์๊ฑฐ๋ ์ง์ํ์ง๋ง ์ฌ์ฉ์๊ฐ UI ๋๋ API(AWS ECR)๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์์ฑํด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์๋ฃจ์ ์ ๊ธฐ๋ณธ API๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ฌธ์ ์ ๊ธฐํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ ๋๋ค. ์ด ์์ ์๋ Werf ์์ ์ ์ ์ฒด ์ฃผ๊ธฐ๋ฅผ ๊ฐ๊ฐ์ ๋ํ ํ ์คํธ๋ก ๋ค๋ฃจ๋ ๊ฒ๋ ํฌํจ๋ฉ๋๋ค.
๋ถ์ฐ ์ด๋ฏธ์ง ๋น๋(โ)
- ๋ฒ์ : v1.2 v1.1 (์ด ๊ธฐ๋ฅ ๊ตฌํ์ ์ฐ์ ์์๊ฐ ๋์์ก์ต๋๋ค.)
- ๋ ์ง: XNUMX์~XNUMX์
-
๋ฐํ๋ฌผ
ํ์ฌ werf v1.0 ๋ฐ v1.1์ ์ด๋ฏธ์ง ๋น๋ ๋ฐ ๊ฒ์ ์์ ๊ณผ Kubernetes์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ์์ ์ ์ํด ํ๋์ ์ ์ฉ ํธ์คํธ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
Werf์ ๋ถ์ฐ ์์ ๊ฐ๋ฅ์ฑ์ ์ด๋ ค๋ฉด Kubernetes์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ ๋ฐ ๋ฐฐํฌ๊ฐ ์ฌ๋ฌ ์์์ ํธ์คํธ์์ ์์๋๊ณ ์ด๋ฌํ ํธ์คํธ๊ฐ ๋น๋(์์ ์คํ๊ธฐ) ๊ฐ์ ์ํ๋ฅผ ์ ์ฅํ์ง ์๋ ๊ฒฝ์ฐ werf๋ ๋ค์์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด์ผ ํฉ๋๋ค. Docker Registry๋ฅผ ์คํ ์ด์ง ์ ์ฅ์๋ก ์ฌ์ฉํฉ๋๋ค.
์ด์ ์๋ werf ํ๋ก์ ํธ๊ฐ ์์ง dapp์ผ๋ก ๋ถ๋ ธ์ ๋ ๊ทธ๋ฐ ๊ธฐํ๊ฐ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ werf์์ ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ ๊ณ ๋ คํด์ผ ํ ์ฌ๋ฌ ๊ฐ์ง ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค.
์ฃผ์. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ์์ง๊ธฐ๊ฐ Kubernetes Pod ๋ด์์ ์๋ํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ก์ปฌ Docker ์๋ฒ์ ๋ํ ์ข ์์ฑ์ ์ ๊ฑฐํด์ผ ํฉ๋๋ค(Kubernetes ํฌ๋์์๋ ํ๋ก์ธ์ค ์์ฒด๊ฐ ์ปจํ ์ด๋์์ ์คํ๋๊ณ werf๋ ์ง์ํ์ง ์์ผ๋ฉฐ ์์ผ๋ก๋ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ก์ปฌ Docker ์๋ฒ์ ์ก์ธ์คํ ์ ์์ต๋๋ค). ๋คํธ์ํฌ๋ฅผ ํตํด Docker ์๋ฒ์ ์์ ). Kubernetes ์คํ์ ๋ํ ์ง์์ ๋ณ๋๋ก ๊ตฌํ๋ฉ๋๋ค.
GitHub Actions ๊ณต์ ์ง์(์ ๊ท)
- ๋ฒ์ : v1.1
- ๋ ์ง: XNUMX์
-
๋ฐํ๋ฌผ
werf ๋ฌธ์ ํฌํจ(์น์ ์ฐธ๊ณ ะธ ์๋ด) ๋ฐ werf ์์ ์ ์ํ ๊ณต์ GitHub Action๋ ์์ต๋๋ค.
๋ํ, werf๋ ์์ ์คํ๊ธฐ์์ ์๋ํ ์ ์์ต๋๋ค.
CI ์์คํ ๊ณผ ์ฌ์ฉ์์ ์ํธ ์์ฉ ๋ฉ์ปค๋์ฆ์ ํ ์์ฒญ์ ๋ ์ด๋ธ์ ๋ฐฐ์นํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถ/๋กค์์ํ๊ธฐ ์ํ ํน์ ์์ ์ ์์ํ๋ ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
werf๋ฅผ ์ฌ์ฉํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ก์ปฌ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ(โ)
- ๋ฒ์ : v1.1
- ๋ ์ง: XNUMX์~XNUMX์ XNUMX์
-
๋ฐํ๋ฌผ
์ฃผ์ ๋ชฉํ๋ ๋ณต์กํ ์์ ์์ด ์ฆ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ก์ปฌ ๋ฐ ํ๋ก๋์ ํ๊ฒฝ์ ๋ฐฐํฌํ๊ธฐ ์ํ ๋จ์ผ ํตํฉ ๊ตฌ์ฑ์ ๋ฌ์ฑํ๋ ๊ฒ์ ๋๋ค.
werf์๋ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ํธ์งํ๊ณ ๋๋ฒ๊น ์ ์ํด ์คํ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก๋ถํฐ ์ฆ์ ํผ๋๋ฐฑ์ ๋ฐ๋ ๊ฒ์ด ํธ๋ฆฌํ ์๋ ๋ชจ๋๊ฐ ํ์ํฉ๋๋ค.
์๋ก์ด ์ฒญ์ ์๊ณ ๋ฆฌ์ฆ(NEW)
- ๋ฒ์ : v1.1
- ๋ ์ง: XNUMX์
-
๋ฐํ๋ฌผ
ํ์ฌ ๋ฒ์ ์ werf v1.1 ์ ์ฐจ์์ cleanup
์ฝํ
์ธ ๊ธฐ๋ฐ ํ๊ทธ ์ง์ ์ฒด๊ณ์ ๋ํ ์ด๋ฏธ์ง ์ ๋ฆฌ์ ๋ํ ๊ท์ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ด๋ฏธ์ง๋ ๋์ ๋ฉ๋๋ค.
๋ํ werf์ ํ์ฌ ๋ฒ์ (v1.0 ๋ฐ v1.1)์ ํ๊ทธ ์ง์ ์ฒด๊ณ(Git ๋ธ๋์น, Git ํ๊ทธ ๋๋ Git ์ปค๋ฐ)์ ๋ฐ๋ผ ๊ฒ์๋ ์ด๋ฏธ์ง์ ๋ํด ์๋ก ๋ค๋ฅธ ์ ๋ฆฌ ์ ์ฑ ์ ์ฌ์ฉํฉ๋๋ค.
๋ชจ๋ ํ๊ทธ ๊ตฌ์ฑํ์ ๋ํด ํตํฉ๋ Git์ ์ปค๋ฐ ๊ธฐ๋ก์ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ ๋ฆฌํ๋ ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋ฐ๋์์ต๋๋ค.
- ๊ฐ git HEAD(๋ธ๋์น ๋ฐ ํ๊ทธ)์ ๋ํด ๊ฐ์ฅ ์ต๊ทผ N1 ์ปค๋ฐ๊ณผ ์ฐ๊ฒฐ๋ N2 ์ด๋ฏธ์ง๋ง ์ ์งํ์ธ์.
- ๊ฐ git HEAD(๋ธ๋์น ๋ฐ ํ๊ทธ)์ ๋ํ ์ต์ N1 ์ปค๋ฐ๊ณผ ๊ด๋ จ๋ N2 ๋จ๊ณ ์ด๋ฏธ์ง๋ง ์ ์ฅํ์ธ์.
- Kubernetes ํด๋ฌ์คํฐ ๋ฆฌ์์ค์ ์ฌ์ฉ๋๋ ๋ชจ๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํฉ๋๋ค(๊ตฌ์ฑ ํ์ผ ๋ฐ ๋ค์์คํ์ด์ค์ ๋ชจ๋ kube ์ปจํ ์คํธ๊ฐ ์ค์บ๋ฉ๋๋ค. ํน์ ์ต์ ์ ์ฌ์ฉํ์ฌ ์ด ๋์์ ์ ํํ ์ ์์ต๋๋ค).
- Helm ๋ฆด๋ฆฌ์ค์ ์ ์ฅ๋ ๋ฆฌ์์ค ๊ตฌ์ฑ ๋งค๋ํ์คํธ์ ์ฌ์ฉ๋๋ ๋ชจ๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํฉ๋๋ค.
- ์ด๋ฏธ์ง๊ฐ git์ HEAD์ ์ฐ๊ฒฐ๋์ด ์์ง ์๊ณ (์: ํด๋น HEAD ์์ฒด๊ฐ ์ญ์ ๋์๊ธฐ ๋๋ฌธ์) Kubernetes ํด๋ฌ์คํฐ ๋ฐ Helm ๋ฆด๋ฆฌ์ค์ ๋งค๋ํ์คํธ์์ ์ฌ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ ์ด๋ฏธ์ง๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค.
๋ณ๋ ฌ ์ด๋ฏธ์ง ๊ตฌ์ถ(โ)
- ๋ฒ์ : v1.1
- ๋ ์ง: XNUMX์~XNUMX์ XNUMX์*
werf์ ํ์ฌ ๋ฒ์ ์ ๋ค์์ ์ค๋ช
๋ ์ด๋ฏธ์ง์ ์ํฐํฉํธ๋ฅผ ์์งํฉ๋๋ค. werf.yaml
, ์์ฐจ์ ์ผ๋ก. ์ด๋ฏธ์ง์ ์ํฐํฉํธ์ ๋
๋ฆฝ์ ์ธ ๋จ๊ณ๋ฅผ ์กฐ๋ฆฝํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ณ๋ ฌํํ๊ณ ํธ๋ฆฌํ๊ณ ์ ์ตํ ์ถ๋ ฅ์ ์ ๊ณตํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
* ์ฐธ๊ณ : ๋ถ์ฐ ์ด์ ๋ธ๋ฆฌ ๊ตฌํ์ ๋ํ ์ฐ์ ์์๊ฐ ๋์์ ธ ๋ ๋ง์ ์ํ์ ํ์ฅ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๊ณ GitHub Actions์ ํจ๊ป werf๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ง๊ฐ์ผ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋ณ๋ ฌ ์กฐ๋ฆฝ์ ๋ค์ ์ต์ ํ ๋จ๊ณ๋ก, ํ๋์ ํ๋ก์ ํธ๋ฅผ ์กฐ๋ฆฝํ ๋ ์์ง ํ์ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค.
ํฌ๋ฆ 3์ผ๋ก ์ ํ (โ)
- ๋ฒ์ : v1.2
- ๋ ์ง: XNUMX์~XNUMX์ XNUMX์*
์๋ก์ด ์ฝ๋๋ฒ ์ด์ค๋ก์ ๋ง์ด๊ทธ๋ ์ด์
ํฌํจ
* ์ฐธ๊ณ : Helm 3์ ๋ชจ๋ ์ฃผ์ ๊ธฐ๋ฅ(3๋ฐฉํฅ ๋ณํฉ ๋ฐ ๊ฒฝ์ด๊ธฐ ์์)์ด ์ด๋ฏธ Werf์ ๊ตฌํ๋์ด ์์ผ๋ฏ๋ก Helm 3์ผ๋ก ์ ํํด๋ Werf์ ์ค์ํ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ง ์์ต๋๋ค. ๊ฒ๋ค๊ฐ werf๋
Kubernetes ๊ตฌ์ฑ์ ์ค๋ช ํ๋ JSONnet(โ)
- ๋ฒ์ : v1.2
- ๋ ์ง: XNUMX์~XNUMX์ XNUMX์~XNUMX์
Werf๋ Jsonnet ํ์์ Kubernetes์ ๋ํ ๊ตฌ์ฑ ์ค๋ช ์ ์ง์ํฉ๋๋ค. ๋์์ werf๋ Helm๊ณผ์ ํธํ์ฑ์ ์ ์งํ๋ฉฐ ์ค๋ช ํ์์ ์ ํํ ์ ์์ต๋๋ค.
๊ทธ ์ด์ ๋ Go ํ ํ๋ฆฟ์ด ๋ง์ ์ฌ๋๋ค์ ๋ฐ๋ฅด๋ฉด ์ง์ ์ฅ๋ฒฝ์ด ๋๊ณ , ์ด๋ฌํ ํ ํ๋ฆฟ์ ์ฝ๋์ ๋ํ ์ดํด์ฑ๋ ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค๋ฅธ Kubernetes ๊ตฌ์ฑ ์ค๋ช ์์คํ (์: Kustomize)์ ๋์ ํ ๊ฐ๋ฅ์ฑ๋ ๊ณ ๋ ค ์ค์ ๋๋ค.
Kubernetes ๋ด๋ถ์์ ์์ ํ๊ธฐ(โ)
- ๋ฒ์ : v1.2
- ๋ ์ง: XNUMX์~XNUMX์ XNUMX์~XNUMX์
๋ชฉํ: Kubernetes์ ์คํ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๊ฐ ๋น๋๋๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๊ณต๋๋์ง ํ์ธํฉ๋๋ค. ์ ๊ฒ๋ค. Kubernetes ํฌ๋์์ ์ง์ ์ ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ถ, ๊ฒ์, ์ ๋ฆฌ ๋ฐ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๋ฉด ๋จผ์ ๋ถ์ฐ ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ถํ ์ ์์ด์ผ ํฉ๋๋ค. (์์ ๋ด์ฉ ์ฐธ์กฐ).
๋ํ Docker ์๋ฒ๊ฐ ์๋ ๋น๋ ์๋ ๋ชจ๋(์: Kaniko์ ๊ฐ์ ๋น๋ ๋๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๋น๋)์ ๋ํ ์ง์์ด ํ์ํฉ๋๋ค.
Werf๋ Dockerfile๋ฟ๋ง ์๋๋ผ ์ฆ๋ถ ์ฌ๊ตฌ์ถ ๋ฐ Ansible์ ๊ฐ์ถ Stapel ๋น๋๋ฅผ ์ฌ์ฉํ์ฌ Kubernetes ๊ธฐ๋ฐ ๊ตฌ์ถ์ ์ง์ํฉ๋๋ค.
๊ฐ๋ฐฉํ ๊ฐ๋ฐ์ ํฅํ ํ ๊ฑธ์
์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ ์ปค๋ฎค๋ํฐ๋ฅผ ์ฌ๋ํฉ๋๋ค(
์ต๊ทผ์ ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ๋์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ์ ๋ํด ๋ง์ ์์ ์ด ์ํ๋์์ต๋๋ค.
- ๊ด๋ จ ์๋ ๋ด์ฉ์ ์ ๊ฑฐํ์ต๋๋ค.
- ๊ธฐ์กด ํญ๋ชฉ์ ์ถฉ๋ถํ ์์ ์ธ๋ถ ์ ๋ณด์ ์ธ๋ถ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ ๋จ์ผ ํ์์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
- ์์ด๋์ด์ ์ ์์ด ํฌํจ๋ ์๋ก์ด ์ด์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
๋ฒ์ v1.1์ ํ์ฑํํ๋ ๋ฐฉ๋ฒ
๋ฒ์ ์ ํ์ฌ ๋ค์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
source $(multiwerf use 1.1 ea)
werf COMMAND ...
๊ฒฐ๋ก
Stapel ๋ฐ Dockerfile ๋น๋๋ฅผ ์ํ ์๋ก์ด ์คํ
์ด์ง ์คํ ๋ฆฌ์ง ์ํคํ
์ฒ ๋ฐ ๋น๋ ์ต์ ํ๋ Werf์์ ๋ถ์ฐ ๋ฐ ๋ณ๋ ฌ ๋น๋๋ฅผ ๊ตฌํํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ณง ๋์ผํ v1.1 ๋ฆด๋ฆฌ์ค์ ๋ํ๋ ์์ ์ด๋ฉฐ ์๋ ์
๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ ํตํด ์๋์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค(์ฌ์ฉ์์ ๊ฒฝ์ฐ).
์ด๋ฒ ๋ฆด๋ฆฌ์ค์๋ ์ด๋ฏธ์ง ์ฝํ
์ธ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๊ทธ ์ง์ ์ ๋ต์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ฝํ
์ธ ๊ธฐ๋ฐ ํ๊ทธ ์ง์ , ์ด๋ ๊ธฐ๋ณธ ์ ๋ต์ด ๋์์ต๋๋ค. ๊ธฐ๋ณธ ๋ช
๋ น ๋ก๊ทธ๋ ์ฌ์์
๋์์ต๋๋ค. werf build
, werf publish
, werf deploy
, werf dismiss
, werf cleanup
.
๋ค์์ผ๋ก ์ค์ํ ๋จ๊ณ๋ ๋ถ์ฐ ์ด์ ๋ธ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค. ๋ถ์ฐ ๋น๋๋ werf์ ๋ ๋ง์ ๊ฐ์น๋ฅผ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ v1.0๋ถํฐ ๋ณ๋ ฌ ๋น๋๋ณด๋ค ๋ ๋์ ์ฐ์ ์์๊ฐ ๋์์ต๋๋ค. ์ฆ, ๋น๋์ ์์ง์ ํ์ฅ๊ณผ ๋ค์ํ CI/CD ์์คํ ์ ์์ ๋น๋์ ๋ํ ์ง์์ ๋ฌผ๋ก GitHub Actions์ ๋ํ ๊ณต์ ์ง์ ๊ธฐ๋ฅ๋ ์ ๊ณต๋ฉ๋๋ค. . ๋ฐ๋ผ์ ๋ณ๋ ฌ ์ด์ ๋ธ๋ฆฌ์ ๊ตฌํ ๊ธฐํ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ๋ ๊ฐ์ง ๊ฐ๋ฅ์ฑ์ ๋ชจ๋ ๊ตฌํํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
๋ด์ค๋ฅผ ํ๋ก์ฐํ์ธ์! ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธํ๋ ๊ฒ์ ์์ง ๋ง์ธ์
PS
๋ธ๋ก๊ทธ์์๋ ์ฝ์ด๋ณด์ธ์.
- ยซ
werf 1.0 stable ์๊ฐ: GitOps๋ ๊ทธ๊ฒ๊ณผ ์ด๋ค ๊ด๋ จ์ด ์์ผ๋ฉฐ, ์ํ ๋ฐ ๊ณํ์ ๋ฌด์์ ๋๊น? ยป - ยซ
werf - Kubernetes์ CI/CD์ฉ ๋๊ตฌ(๊ฐ์ ๋ฐ ๋น๋์ค ๋ณด๊ณ ์) "; - werf์ ํ์ ์ ๊ดํ ์ผ๋ จ์ ์ฐธ๊ณ ์ฌํญ:
- ยซ
werf๋ก 3๋ฐฉํฅ ๋ณํฉ: Helm์ "์คํ ๋ก์ด๋"๋ก ์ฌ์ฉํ์ฌ Kubernetes์ ๋ฐฐํฌ "; - ยซ
Werf๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ Helm ์ฐจํธ ์ถ์ "; - ยซ
werf์์ ๋จ์ผ ์ ์ฅ์ ๋ฐ ๋ค์ค ์ ์ฅ์์ ๋ํ ์ง์ ๋ฐ Docker ๋ ์ง์คํธ๋ฆฌ์ ๊ด๋ จ์ด ์๋ ์์ "; - ยซ
์ด์ ์ผ๋ฐ Dockerfile์ ์ฌ์ฉํ์ฌ werf์์ Docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ์ ์์ต๋๋ค. ".
- ยซ
์ถ์ฒ : habr.com