๋๋ Issue #3529์ #3291์ ์ฝ๊ณ ๊ทธ๊ฒ์ด '๊ทธ๋ ๊ฒ ๋ณต์กํ์ง ์๋ค'๋ ๊ฒ์ ์์ํ๋ ์ ์ผํ ๋ฐ์๊ณผ ํจ๊ป ๊ทธ๊ฒ๋ค์ด ํ์๋ ๊ฒ์ ๋ณด์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์๊ฒฌ์ ์ค์ค๋ก ์ด ์์ ์ ์ํํ๋ฉด ๊ตฌ์์ด ๋ ์ํ์ด ์๋ค๋ ์ ๋ ์ธ์ ํ์ต๋๋ค. ์ ํํ ๊ทธ ์ ์ ์ ์ธํ๊ณ , ์ ๋ ์์ ์ ์ฌ์ฉ์์ ๊ฒฝ์ฐ ๊ณต์ Amazon ์ด๋ฏธ์ง๋ฅผ ๊ฐ๋ ๊ฒ์ด "/aws- cli:latest "๋ณด๋ค ํจ์ฌ ์ฐ์ ์ ์ด๋ผ๋ ์ ์ ์ง์ ํ๊ณ ์ถ์ต๋๋ค.
์ ๊ฒฝ์ฐ์๋ AWS CodeBuild๋ณด๋ค ํจ์ฌ ์ฐ์ํ๊ธฐ ๋๋ฌธ์ Google Cloud Build์์ ์ด๊ฒ์ ์ฌ์ฉํฉ๋๋ค.
์ ๋ CI/CD ํ๊ฒฝ์์ ์ฌ์ฉํ ๊ณต์ aws-cli ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฐพ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ ์์ต๋๋ค. ๋์ ์๋ ํ์ดํ๋ผ์ธ์์ ๊ณต์ ํ์ผ์ ์ฐธ์กฐํ ์ ์์ ๋ aws cli๋ฅผ ํฌํจํ๋ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ธฐ ์ํด ์ด์ ๋ค๋ฅธ ํ์ดํ๋ผ์ธ์ ๋ง๋ค ๊ฒ์ ๋๋ค.
๋ํ ... ๋ค๋ฅธ ์ฌ๋๋ https://hub.docker.com/r/google/cloud-sdk๋ฅผ ์ป์ต๋๋ค
@matti ๋ฐ @nscavell , ์ด ์ฃผ์ ์ ๋ํ ํ์ ์กฐ์น์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ด ๊ธฐ๋ฅ ์์ฒญ์ ๊ด์ฌ์ด ์์ด ๊ณ์ ์ด์ด ๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๋ฌธ์ ๋ AWS CLI์ ๊ณต์ Docker ์ด๋ฏธ์ง๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ด์ฌ์ ํ์ํ๊ณ ์ฐ์ ์์๋ฅผ ์ ํ๋ ๋ฐ ๋์์ด ๋๋๋ก +1ํ์ธ์.
๊ฐ์ฌ ํด์.
+1์ ์ ํดํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ง ์์ต๋๋ค ;)
์ด์จ๋ ์ด๊ฒ์ ์ด๊ฒ์ ๋ํด ์์ฑ ๋ ์ธ ๋ฒ์งธ (?) ๋ฌธ์ ์ ๋๋ค ...
๐ ๋ด +1 ์ถ๊ฐ
๋ด CI์ awsCLI๋ง ํฌํจํ๋ ค๋ฉด ๊ณ ์ ํ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๋๋ ๊ณต์ ๊ฒ์ ์ ํธํ๋ค.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
Heres๋ ๋ค๋ฅธ ์ฌ๋์ด ๊ทธ ๋์์ ์ต์ ๋ฒ์ ์ ์ฐพ๊ณ ์ ๋ํ ์ค์น ๊ฐ์ฅ ์ต๊ทผ์ CLI์ ๊ณ ์ฐ (๊ฒ์๋ฌผ ์์ ) ์ด๋ฏธ์ง.
@์ ์คํธ๋์ค ์ถฉ๋ถํด?
+1
+1
+1
+1
๋ ๋ค๋ฅธ ์ด์ ๋ ํจํค์ง ๊ด๋ฆฌ๊ฐ ์๋ coreOS์ ๊ฐ์ OS๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ด์ฉ์ ์ธ ์คํ ๋ฐฉ์์ด ์ปจํ ์ด๋๋ฅผ ํตํ๋ ๊ฒ์ ๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํ ํ์์ฑ์ด ์์ฌ๋๋ ๊ฒ์ ๋๋์ต๋๋ค. ๋ช ๋ฐฑํ ๋๋ฝ์ ๋๋ค. ๐
+1
:+1:
+1
+1
+1
+1
+1
#3291(3๊ฐ์ ์ธ์ฉ๋ ๋ฌธ์ ์ค ๊ฐ์ฅ ์ด๋ฅธ ๊ฒ)์ ์์์๋ก์, ์ด ๋ฌธ์ ๊ฐ ๋ง์นจ๋ด ์ฃผ๋ชฉ์ ๋ฐ๊ณ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ๋ฏธ๋์ ๋ชจ๋ ์๋ต์์๊ฒ @justnance ๊ฐ "๊ด์ฌ์ ๋ํ๋ด๋ ค๋ฉด +1์ ํด์ฃผ์ธ์"๋ผ๊ณ ๋งํ๋ฉด ์ฒซ ๋ฒ์งธ ๋๊ธ์ ์ข์์๋ฅผ ์ถ๊ฐํ๋ค๋ ์๋ฏธ์ ๋๋ค. ์ด๋ GitHub์์ +1ํ๋ ์ ์ ํ ๋ฐฉ๋ฒ์ด๋ฏ๋ก ๊ด๋ฆฌ์์ ์ฌ์ํจ์ ์คํธ์ ๋ณด๋ด์ง ์๋๋ก ํด์ผ ํฉ๋๋ค. .
๋ฆฌํฌ์งํ ๋ฆฌ ์์ ์์๊ฒ ์๋ฆผ์ ์ ์งํ๋ ค๋ฉด +1
+1
+1
๋ฌธ์ ๋ผ๊ณ ํ๋ฉด ๐ ๋ฒํผ์ ๋๋ฅด
@davidham - ๋ช ํํ ํด ์ฃผ์ ์ ๊ฐ์ฌํ๊ณ ์๋ตํด
2์ผ ์ ์๋ ๋๊ฐ์ ๋ง์ ํ์ง๋ง ํ ์ฐ๋ฆฌ๋ ๋ค ๊ฐ์ ํธ์ด๋ค ๐
+1
+1
+1
+1
+1
+1
+1
+1์ ๋ฉ์ถ ์ ์์ต๋๊น? +1ํ๊ณ ์ถ๋ค๋ฉด ์๋จ์์ ํ์ธ์.
๊ท์คํ ์์ง๋์ด ์๊ฐ์ ๋ญ๋นํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ๋ฅผ ๊ตฌ๋ ํ์ต๋๋ค...
์ ๋ 2๋ ๋๊ฒ aws-cli ์ด๋ฏธ์ง๋ฅผ ์ ์งํ๊ณ ์์ต๋๋ค. ํ์ํ ๊ฒฝ์ฐ ์์ ๋กญ๊ฒ ์ฌ์ฉํ์ญ์์ค(์ ๋ ํ๋ฃจ์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํฉ๋๋ค). (IFTT๋ฅผ ํตํด) ์ ๋ฒ์ ๋ฆด๋ฆฌ์ค์ ๋ํ ์ ๋ฐ์ดํธ๋ฅผ ์์ ํ๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์๋นํ ๋น ๋ฅด๊ฒ ํธ์ํฉ๋๋ค. ๋ด ์์ ์ ์ด๋ฏธ์ง๋ฅผ ์ด์ํ๋ ๋ช ์ฑ๊ณผ ์๊ด์๋ ๋ถ๊ตฌํ๊ณ (ํ!) ๊ณต์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋๋ก ์ฌ๋๋ค์ _๊ธฐ์๊ฒ_ ์ฐ๊ธฐํ ๊ฒ์ ๋๋ค.
์ค๋ซ๋์ ์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ ํ, ๊ณต์ ์ด๋ฏธ์ง์ jq
(API๊ฐ JSON์ด ๋ฌด๊ฒ๊ธฐ ๋๋ฌธ์)๊ฐ ํฌํจ๋์ด ์์ผ๋ฉด _๋งค์ฐ_ ๋์์ด ๋๋ค๊ณ ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ๋จ์ผ CI/CD ํ์ดํ๋ผ์ธ ๋จ๊ณ์์ "์ต์ ECS ์์
์ ์ ๊ฐ์ ธ์ค๊ธฐ, ๋ณ๊ฒฝ ๋ฐ ํธ์๋ฐฑ"๊ณผ ๊ฐ์ ์์
์ ๋ชจ๋ ์ํํ๋ ๊ฒ์ด ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
๋ฌธ์ ์ ๋ํ ๋ ๋ค๋ฅธ ๋์ ์๋ฃจ์ : https://hub.docker.com/r/somedeveloper/aws-cli/
์ฌ์ฉ ์ด์ :
์ฌ์ ํ ๊ณต์ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค. ์ง๊ธ ์ฌ๋๋ค์ ์๊ฐํด๋ด
https://hub.docker.com/r/google/cloud-sdk/ . ์ฃ์กํฉ๋๋ค. AWS์ ๊ฐ์ ๊ฑฐ๋ฌผ์๊ฒ ํ๊ธฐ ํ๋ ์์ ์ ๋๋ค.
+1
+1์ ์ ํดํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ง ์์ต๋๋ค ;)
์ด์จ๋ ์ด๊ฒ์ ์ด๊ฒ์ ๋ํด ์์ฑ ๋ ์ธ ๋ฒ์งธ (?) ๋ฌธ์ ์ ๋๋ค ...
๋ท์งธ, https://github.com/aws/amazon-linux-docker-images/issues/10 ์ ๊ณ ๋ คํ๋ค๋ฉด
CircleCI์ ๋ฃ๊ณ ๋๋ด๋ฉด ์๋๋์? Dockerfile ๋๋ ํ์ดํ๋ผ์ธ์ ๋์๋๋ฆฝ๋๋ค.
๊ฐ๋ฐ์๊ฐ ์ด ๊ฒ๋ณด๊ธฐ์ ์ฌ์ํด ๋ณด์ด๋ ์์ ์ ์ํํ์ง ๋ชปํ๊ฒ ํ๋ ๋ด๋ถ ์ ํ ์ฌํญ ๋ฐ/๋๋ Amazon ๋ด๋ถ ๋ฌธ์ ์์ ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค...
ํฌ ๋กค
"๊ณต์" ์ด๋ฏธ์ง์ ์์ผ๋ฉด ์ข์ ๋ช ๊ฐ์ง ๋ณํ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ ํ์ฌ aws cli ๋ฐ curl(IAM ๋ฉํ๋ฐ์ดํฐ ์๋ํฌ์ธํธ ํ์ธ์ฉ)์ด ์๋ ์ปจํ ์ด๋๋ฅผ ๊ฐ์ ธ์ค๋ ค๊ณ ํ๊ณ ์์ผ๋ฉฐ k8s ๋ฐฐํฌ์ ๋ฐ๋ก ์ฐ๊ฒฐํ ์ ์๋ ์ปจํ ์ด๋๋ฅผ ์ฐพ๋ ๊ฒ์ด ์ ๋ง ํธ๋ฆฌํ ๊ฒ์ ๋๋ค.
๊ณต์ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ๋ ๋ฐ์๋ ๋ณด์์์ ์ด์ ๊ฐ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์์คํ ์ ๋ํ ๋ง์ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ CI/CD ํ์ดํ๋ผ์ธ๊ณผ ๊ฐ์ ๊ณ ๊ฐ์น ๋์์ ์ฌ์ฉ๋๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ง ๊ด๋ฆฌํ๋ "์ธํฐ๋ท ์์ ์์์ ์ฌ๋"์ ๋ํ ์ข ์์ฑ์ ์ ๊ฑฐํ์ฌ ์ํ ๋ชจ๋ธ์ ๋ ๋จ์ํ๊ฒ ๋ง๋ญ๋๋ค.
docker:18 (ํ์ฌ ์์ ์ ์ธ) ์ด๋ฏธ์ง(https://hub.docker.com/_/docker)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ณต์ aws-cli docker ์ด๋ฏธ์ง๋ฅผ ์ํฉ๋๋ค. aws-cli-docker-18์ ํ์ฌ docker:18
์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ CI/CD ํ๊ฒฝ์์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ AWS ECR์ ๊ฒ์ํ๊ณ ์ถ๊ธฐ ๋๋ฌธ์
๋๋ค.
+1
+1
์ฌ๋๋ค์ด ์์ ์ ๋ ผํ์ด ๋น๋ฉดํ ๋ฌธ์ ์ ๊ธฐ์ฌํ์ง ์์ ๋ ๋ ผํ์ ์์ ํ๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. "+1"๊ณผ ๊ฐ์ ๋๊ธ์ ๊ตฌ๋ ์์๊ฒ ์คํธ์ ์ ๊ณตํ๊ณ ๋ฌธ์ ๋ฅผ ํ์ ์ด์์ผ๋ก ๊ธธ๊ฒ ๋ง๋ญ๋๋ค. ๋์ , ๋ฌธ์ ์ ์ฒซ ๋ฒ์งธ ๋๊ธ์ ์์ง์๊ฐ๋ฝ์ ์น์ผ๋ญ๋๋ค.
์ฌ๋๋ค์ด ์์ ์ ๋ ผํ์ด ๋น๋ฉดํ ๋ฌธ์ ์ ๊ธฐ์ฌํ์ง ์์ ๋ ๋ ผํ์ ์์ ํ๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. "+1"๊ณผ ๊ฐ์ ๋๊ธ์ ๊ตฌ๋ ์์๊ฒ ์คํธ์ ์ ๊ณตํ๊ณ ๋ฌธ์ ๋ฅผ ํ์ ์ด์์ผ๋ก ๊ธธ๊ฒ ๋ง๋ญ๋๋ค. ๋์ , ๋ฌธ์ ์ ์ฒซ ๋ฒ์งธ ๋๊ธ์ ์์ง์๊ฐ๋ฝ์ ์น์ผ๋ญ๋๋ค.
์ด ๋ฌธ์ ๋ ์๋ 9์๋ถํฐ ๊ณต๊ฐ๋์์ต๋๋ค. ๋ถ๋ช ํ ๊ด์ฌ์ด ์๊ธฐ ๋๋ฌธ์ AWS์ ์ด ๋ฌธ์ ๋ฅผ ๋ค์ ๊ฒํ ํด ๋ฌ๋ผ๊ณ ์์ฒญํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ผ๋ง๋ ๋ง์ ๊ด์ฌ์ด "์ถฉ๋ถํ์ง" ๋งํด์ผ ํฉ๋๋ค.
๋ถ๋ช ํ ๊ด์ฌ์ด ์๊ธฐ ๋๋ฌธ์
๊ด์ฌ๋ฟ๋ง ์๋๋ผ ๋ ๋ง์ :+1: ๋ฐ์ ์ด ์๋ ์ด๋ฆฐ ๋ฌธ์ ์ ๋๋ค.
https://github.com/aws/aws-cli/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
2ํธ๋ 2014๋ , 3ํธ๋ 2015๋ ์ ์ด๋ ธ๊ณ , ์ด๋ฒ ํธ๋ 2018๋ 9์(1๋ ๋ฏธ๋ง) ์ ์ด๋ ธ์ต๋๋ค.
+1000
aws-cli๊ฐ ์๋ํ๋๋ก ์ฌ๋ฐ๋ฅธ ์ข ์์ฑ์ ์ค์ ํ๋ ๋ฐ ํญ์ ๋ก์ปฌ ์ปดํจํฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ docker ๋ด๋ถ์์ aws-cli๋ก ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. docker-hub์์ ๊ณต๊ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์ฌ๋ฌ ์ด๋ฏธ์ง๋ฅผ ์ฐพ์์ง๋ง ๊ณต์์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ขฐํ์ง ์์ผ๋ฏ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋ฐ์ดํธ๋ ๋ฒ์ ์ด ์์ ๋๋ง๋ค ์ ๋ขฐํ ์ ์๋ ์ด๋ฏธ์ง๋ฅผ ๊ฒ์ํ๊ณ ๋ค์ ์ฐพ์์ผ ํฉ๋๋ค. ์ฌ์ฉํ๊ธฐ์ ์์ ํฉ๋๋ค. AWS์์ ๋์ปค ํ๋ธ๋ฅผ ํตํด ์์ ํ aws-cli ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ถ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ์ ๊ณตํ์ญ์์ค. ๋ฏธ๋ฆฌ ๊ฐ์ฌ๋๋ฆฝ๋๋ค
์ปค๋ฎค๋ํฐ์์ ์ ๊ณตํ aws-cli ์ด๋ฏธ์ง์ ๊ฑฐ๋ํ ์กฐ๊ฐํ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ ์ธ๊ธํ๋ฏ์ด ์ฌ๋๋ค์ ๊ณต์์ ์ผ๋ก Amazon์์ ์ ์ง ๊ด๋ฆฌํ๊ณ ์ง์ํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ๋ช ๊ฐ์ง ์ด์ :
1) ์ค๋๋์ง ์์ ๊ฒ์
๋๋ค. ์ปค๋ฎค๋ํฐ ์ด๋ฏธ์ง๋ ๊ฒฐ๊ตญ ์ค๋ ๊ฐ์ง ์๋ ๊ฒ์ผ๋ก ์ ๋ช
ํฉ๋๋ค.
2) ๋ ์์ ํจ -- ์ปค๋ฎค๋ํฐ ๊ตฌ์ฑ์์ด ์๋ฌด๋ฆฌ ์ ๋ขฐํ ์ ์๋๋ผ๋ ๊ณต์์ ์ผ๋ก Amazon์ ๋ํํ์ง ์์ผ๋ฏ๋ก "๋ชจ๋ ๋ณด์ฆ์ด ๋ฌดํจ"์ธ ์ ๋ขฐํ ์ ์๋ ๋ฆฌ์์ค์์ ์ ๊ณต๋ฉ๋๋ค.
3) ๊ณต์ ์ง์์ ๋ฒ๊ทธ, ๋ฒ์ ์ถฉ๋, ํ์ ํธํ์ฑ ๋ฑ์ ๊ฒฝ์ฐ ๊ณต์ ์ง์์ ์๋ฏธํฉ๋๋ค.
4) AWS๋ ๊ธฐ๋ก ํ๊ทธ๋ฅผ ํฌํจํ์ฌ aws
cli๋ฅผ ์
๋ฐ์ดํธํ ๋ ์ด๋ฏธ์ง๋ฅผ ์
๋ฐ์ดํธํ ์ ์์ต๋๋ค.
+1
+1 ์๋ง์กด์ด ์ด๊ฒ์ ์ ๊ณตํ์ง ์๋ ๊ฒ์ ์ ๋ง ์ ๊ฐ์ ๋๋ค
๊ทธ ์ดํ ๋ก ํธ๋ฆฌํ ๋ค๋ฅธ ์ด๋ฏธ์ง๋ฅผ ์ถ๊ฐํ์ต๋๋ค. Docker์ Docker๋ฅผ AWS ๋ฐ SAM CLI์ ๊ฒฐํฉํ์ฌ ์๋ฒฝํ ECR ํตํฉ์ ๊ตฌํํฉ๋๋ค.
+1
๊ด๋ฆฌ๊ฐ ์ ๋ ๋น๊ณต์ ์ด๋ฏธ์ง๊ฐ ๋ง์ด ์์ง๋ง ์ธ์ ๊ฐ๋ "์, ์ด๊ฑธ ๋ ์ด์ ์ ๋ฐ์ดํธํด์ผ ํ๋ ์ด์ ๊ฐ ๋ฌด์์ ๋๊น. ์ด๊ฒ์ด Amazon์ ์ผ์ ๋๋ค!"๋ผ๊ณ ๋งํ๋ ๊ฒ์ ๋ง์ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
+1
+1
์ฌ๋๋ค์ด AWS๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ์๋ํํ๋๋ก ๋๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ Amazon์ ํฐ ์คํจ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ Amazon์ ๋ ๋๋ ค๊ณ ์๊ฐํ๋ ์ด์ ์ค ํ๋์ ๋๋ค.
์ด๊ฒ์ด ์์ง ๋ก๋๋งต์ ์๋์ง ์ฌ๋ถ์ ๋ํ ์ ์ง ๊ด๋ฆฌ์์ ๊ณต์ ์๋ต์ด ์์ต๋๊น? ๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋๋ ๊ณต์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค...
+1
AWS CLI์ ๋ํ ๊ณต์ ์ด๋ฏธ์ง๊ฐ ์๋ ๊ฒฝ์ฐ ์คํฌ๋์น ์ปจํ ์ด๋ ๋ด๋ถ์ ์๋ ์คํ ํ์ผ์ด ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ธ์๊ฒ ๋งค์ฐ ์ ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฌ๊ธฐ์ ์ผ์ด๋๋ ๋ ผ์์๋ ๋ถ๊ตฌํ๊ณ ๋ ๋ง์ ๊ฒ์ ๊ณผ์ ์์ง๋์ด๋ง ๋ ๊ฒ์ ๋๋ค.
AWS๋ ๋ชจ๋ ECR ๋ฐ CodeDeploy ์๋น์ค๋ฅผ ์์ฐํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ์ ๊ทธ๋ค์ ์์ ์ ์ปจํ ์ด๋ํ๋ CLI์์ ๋ชจ๋ ํ๋ ฅ์ ๊ฐ๋ฆฌํค์ง ์์ต๋๊น?
ํ ์ด๋ธ์ ์๋ ์ ์์ ์ปค๋ฎค๋ํฐ์ ๋๊ตฐ๊ฐ๊ฐ ์ด๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
@balibebas ์ปค๋ฎค๋ํฐ์ ๋๊ตฐ๊ฐ๊ฐ ์ด๋ฏธ ํ๊ณ ์์ต๋๋ค. ์์ฒญ๋ ์์ ์ด๋ฏธ์ง๊ฐ ์์ง๋ง ์ฌ๊ธฐ์์ ์์ ์ AWS์์ ์ ๊ณตํ๋ ์ด๋ฏธ์ง๊ฐ ์๋ค๋ ๊ฒ์
๋๋ค. ๋ชจ๋ ๋น๋ฐ์ด ์ด๋ฆฐ ์ํ๋ก CI ํ๊ฒฝ์์ randomguy/aws-cli:canbechangedanytime
๋ฅผ ์คํํ๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๊ทธ๋ ๋ค๋ฉด F-Droid์ ๋ํด ์ด๋ป๊ฒ ๋ง์ํ์๊ฒ ์ต๋๊น?
์ด ๊ณ ์์ด๋งํผ ์ด ๋ฌธ์ ์ ๊ด๋ จ์ด ์์ต๋๋ค.
๋น์ ์ ์ ๋ฃ ๊ณ ๊ฐ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
๊ธ์ ์๋ง๋ ๊ทธ๊ฒ์ _I_ _am_ ๋๋ฌธ์ผ ๊ฒ์ ๋๋ค.
ํฉ์ฐฝ๋จ์ ์ค๊ต. ์ด์จ๋ Brew ๊ณต์์ ๋ ์ค๋ ํธ๋กค๋ง๋์์ง๋ง ์ฌ์ ํ ์์ง์์ด ์๊ธฐ ๋๋ฌธ์ ๋ ๋์ ๊ธฐํ๋ฅผ ์ป์์ต๋๋ค. ๋ฐ๋ผ์ ๊ณ ์์ด ์ฌ์ง์ ์์ ์ง์ ํ๋ฏ์ด ์คํฌ๋์น๋ ๋ฐ์ ์์ ์ปจํ ์ด๋ ์ธ๋ถ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ ๋ ์ฆ์ ์ญํจ๊ณผ๋ฅผ ๋ณ์ต๋๋ค. ๋น์ ์ ๋์์ธ ์ ์์ ๋ฌด์์ ๋๊น?
๋์ ๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค์ ํ์ฌ "busybox ์ปจํ ์ด๋"๋ฅผ ์ํํ์ฌ ECR ์ธ์ฆ ์๊ฒฉ ์ฆ๋ช ์ ์ป๊ธฐ ์ํด ๋์ปค๋ก ์คํํ๊ณ ์์ต๋๋ค. aws๊ฐ ๊ฐ์ง๊ณ ์๋ docker things์ ์๋ฅผ ๊ฐ์ํ ๋ ๊ณต์ ํจํค์ง์ด ์กด์ฌํ์ง ์๋๋ค๋ ๊ฒ์ ๋ง์ด ๋์ง ์์ต๋๋ค.
์ด์ฉ๋ฉด ๊ทธ๋ค์ ๋ค๋ฅธ ๊ฒ์ ๊ด์ฌ์ด ์์ต๋๋ค. ;)
์ด์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ด ๊ธฐ์ฉ๋๋ค. +1 ๋๊ธ๋ก ๋์๊ฐ๊ธฐ:
Dockerless์ ๊ฒฝ์ฐ +1
@matti @balibebas ํ์ฌ ์ด ๋ฌธ์ ์ ๋ํ์๋ง 64๋ช ์ด ์์ผ๋ฉฐ ๋ชจ๋ ์๋ต์ ์ ์ฌ์ ์ผ๋ก ๊ตฌ๋ ์ค์ธ 64๋ช ์ด์์ ๋ชจ๋ ์ฌ๋์๊ฒ ์ ์ก๋ ๋์์ด ๋์ง ์๋ ์ด๋ฉ์ผ ๋ฐ ์๋ฆผ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. ์ด ๋ฉ์์ง๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ฉฐ ์ด์ ๋ํด ์ฌ๊ณผ๋๋ฆฝ๋๋ค.
๊ทธ๋ฌ๋ ์ ๋ง๋ก, ์ผ์ ์ ๋ฌธ์ ์ผ๋ก ์ ์งํ์ญ์์ค. ๊ณ ์์ด ์ฌ์ง์ ์ข์ง๋ง ์ด ์ค์ด ๋ ์ผ์์ ๋ฉ์ด์ง์๋ก ๊ด๋ฆฌ์๊ฐ ์ฌ๊ฐํ๊ฒ ๋ฐ์๋ค์ด์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ํ๊น๊ฒ๋ ์คํธ์ ์คํธ์ ๋๋ค.
๋ด๊ฐ ๋ฐฉ๊ธ ํด๋ฆญํ ๊ตฌ๋ ์ทจ์ ๋ฒํผ์ด ํ๋ ์ผ์ ๋๋ค.
๊ทธ๊ฒ์ ์ข์ ๊ฒ์
๋๋ค. ๋๋ ์๋ฌด ์กฐ์น๋ ์ทจํ์ง ์๊ฑฐ๋ ์ด๊ฒ์ด ์ ์ง๋๊ณ ์๋ค๋ ์ฌ์ค์ ๋๋์ต๋๋ค(NO๋ผ๊ณ ๋งํ๋ ๊ฒ์ ํฌํจ).
์ด์จ๋ ์์ ์ฌ๋๋ค์ ๊ณต์ aws cli ์ด๋ฏธ์ง์ ์ค์์ฑ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ง์ ํ์ต๋๋ค.
๋๋ ์ฌ๋๋ค์ด ์ด๋ฏธ ๊ฐ์ธ์ ์ผ๋ก ๋๋ ๋ค๋ฅธ ์ฌ๋์ด ๋ง๋ ์ด๋ฏธ์ง/ํจํค์ง ๊ด๋ฆฌ์ ๊ฒฝ๋ก ๋ฑ์ ํตํด ์์ ์ ๊ฒ์ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ฐ์ ๊ฒ์ ๋ํ ๋ ๋ค๋ฅธ ์์ ์คํฌ๋ฆฝํธ
๊ทธ๋ฌ๋ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ํผํ ์ ์๋ ๋ฌธ์ ๋ ๊ทธ๋๋ก์ ๋๋ค.
๋ ๋ค๋ฅธ
=> ๋ชจ๋๊ฐ ๊ฒฐ๊ตญ ์์ ์ ๊ฒ์ ๋ง๋ญ๋๋ค.
์ฌ๊ธฐ์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ํ์ฌ ์์ฒด ๋น๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ณ ์์ง๋ง ์๋์ ๊ณต์ ์ด๋ฏธ์ง๋ฅผ ์ ํธํฉ๋๋ค.
๋ค์์คํ์ด์ค. ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ ์๊ฒฉ ์ฆ๋ช ์ ์ป๊ธฐ ์ํด awscli๊ฐ ํ์ํ ECR๋ก ํธ์ํฉ๋๋ค.
FROM docker:18.06
RUN apk update && \
apk -Uuv add python py-pip && \
pip install awscli && \
apk --purge -v del py-pip && \
rm /var/cache/apk/*
์ด๊ฒ์ awscli ๋น๋ ํ์ดํ๋ผ์ธ์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ทธ๋ฆฌ ํฐ ๋ฌธ์ ๊ฐ ์๋๋๋ค... :)
--
@mikesir87 ์ ์์ ๋ฐ๋ผ Dockerfile์ ์ ๋ฐ์ดํธํ์ต๋๋ค. (๊ทธ๊ฒ์ด ๊ฐ์ฅ ์์ ์ด๋ฏธ์ง๋ฅผ ์ป๊ธฐ ์ํด ์ปค๋ฎค๋ํฐ์ ๊ธฐ์ฌ๊ฐ ์๋ ํ์ค ์ด๋ฏธ์ง๋ฅผ ๊ฐ๋ ๋ ๋ค๋ฅธ ์ด์ ์ ๋๋ค)
๋ชจ๋ ์ฌ๋์๊ฒ ์คํธ์ ๋ณด๋ด์ ์ฃ์กํ์ง๋ง (๋ค๋ฅธ ์ฌ๋์ด @jens-meiss์ ์ค๋ํซ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ) ์ธ ๊ฐ์ RUN
๋ฌธ์ ๋จ์ผ ๋ฌธ์ผ๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ _์ ๋ง__ ๊ณ ๋ คํด์ผ ํ๋ค๋ ์ ์ ์ง์ ํ๊ณ ์ถ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ต์ข
์ปจํ
์ด๋๊ฐ ์ก์ธ์คํ ์ ์๋๋ผ๋ py-pip
๊ณผ ์ค๊ฐ ๊ณ์ธต์ apk ์บ์๋ฅผ ๊ณ์ ๋ฐฐ์กํฉ๋๋ค.
๋ ๋ค๋ฅธ ๋ฉ๋ชจ์์ ์ฃผ์์ ๋ ๋ค๋ฅธ ์ ํจํ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ ์ํฉ๋๋ค... aws-cli๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ํธ์ํ๊ธฐ ์ํ ECR์ ์๊ฒฉ ์ฆ๋ช ์ ์ป๋ ๊ฒฝ์ฐ์๋ง ํด๋น๋ฉ๋๋ค. ์ด๊ฒ์ ์ด๋ฏธ์ง์ ECR ์๊ฒฉ ์ฆ๋ช ๋์ฐ๋ฏธ ๋ฅผ ํจํค์งํด์ผ ํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. ์ ์ฒด aws-cli ์์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ฝ๊ฒ ๋น๋ํ๊ณ ํธ์ํ ์ ์์ต๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ฌ๊ธฐ ๊ด๋ฆฌ์์ ๋๋ค. ๋ช ํํ ํ๊ณ ์ถ์์ต๋๋ค. ์ด๊ฒ์ด ์ผ์ด๋๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ํ๊ณ ์์ต๋๋ค.
๋ ๋ง์ ์ ํ์ ๋ฆด๋ฆฌ์ค ์ํฐํฉํธ๋ฅผ ๋น๋/ํ ์คํธ/์ง์ํ ์ ์๋๋ก ๋ ๋์ ๋ฆด๋ฆฌ์ค ์ธํ๋ผ๋ฅผ ๋ด๋ถ์ ์ผ๋ก ๊ตฌ์ถํ๋ ์ค์ ๋๋ค. ํนํ cli v2์ ๋ํด ๋ ๋ง์ ๋ฆด๋ฆฌ์ค ์ํฐํฉํธ๋ฅผ ์ถ์ํ ์์ ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ฌ ์ ํํ ์ผ์ ์ ์์ง๋ง ์งํ ์ค์ ๋๋ค.
amazon devs ๋ฐ ๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค์ ๋ฐ๋ฅด๋ฉด ํ๊ธฐ ์ฌ์ด ์ผ์ด์ง๋ง 2๋ ์ด ์ง๋ ํ์๋ ์ฌ์ ํ ๋๊ธฐ ์ค์ด๋ฉฐ ETA๊ฐ ์์ต๋๋ค ๐
+1
๋ด๋ถ ์ถ์ ์ธํ๋ผ(2019๋
4๋ถ๊ธฐ)
๋ฒ๋ฌดํ ํ๊ฐ(2020๋
1๋ถ๊ธฐ)
aws/cli-dev-test์ ๊ณต๊ฐ ๋ฒ ํ(2020๋
2๋ถ๊ธฐ)
์ต์ข
๋ฆด๋ฆฌ์ค(2020๋
3๋ถ๊ธฐ)
์ด ๋๊ด์ ์ธ ์ผ์ ์์ 10๊ฐ์ ์ด๋ด์ ์ํ๋ ๊ฒ์ ์ป์ ์ ์์ต๋๋ค. ๐ฅ
์ ํ ๋ฐ ๋ธ๋ก๊ทธ ํฌ์คํธ๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค
์ ์ฅ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ด.
์ต์ํ ๊ณต์ ๋ฐํ๋ ์ฝ์์ ๋ฐ์ ์ ์์ต๋๊น? ์๋ง๋ ๋์ ๋ฆด๋ฆฌ์ค ?
@bhmckendrick ์ ์ด ๋๊ธ์ด ๋น์ ๋ณด๋ค ํจ์ฌ ๋์ง ์์ ๊ฒ๊ณผ ์ ํํ ์ผ์นํ์ง ์๋ ์ฝ์์ ๋๊น?
https://github.com/aws/aws-cli/issues/3553#issuecomment -519280276
1๋ ์ด ๋์๋๋ฐ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์์?
@jamesls ๋ , ๊ณต์ ํ ๋ด์ฉ์ด ์์ ๋๊น์ง ์ด ์ค๋ ๋๋ฅผ ์ ๊ทธ๋ ๊ฒ์ ๊ณ ๋ คํ์๊ฒ ์ต๋๊น?
์ฝ๊ธฐ๋ฅผ ์์ ํ ๊บผ๋ฆฌ๊ณ ( ํํธ ํํธ ) ๋์ 70๋ช ์ด์์ ๊ด์ฐฐ์๋ค์๊ฒ ์คํธ ๋ฉ์ผ์ ๋ณด๋ด ๊ทธ๋ค์ด _๊ตฌ์ฒด์ ์ผ๋ก_ ์ง์ฆ๋๊ฒ ํ๋ ๋ฐฉ์์ ์ ํํ๋ ์ฌ๋๋ค์ ์๋ ํ์ ํฉ๋๋ค. ์ด ์ค๋ ๋๋ฅผ ํ๋ก์ฐํ๋ ๋ชจ๋ ์ฌ๋๋ค์ ๊ด์ฌ์ด ํฌ๊ฒ ๊ฐ์ํ๊ณ ์์ต๋๋ค.
๋ํ ์ด๋ฌํ ์ผ์ด ์ผ์ด๋๋๋ก ๋ ธ๋ ฅํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ด ๋ฌธ์ ์ ์์ ์๋ก์(๊ธ์์, ์ ๋ ์ด์ ์ ๋ซ์ "wontfix" ํญ๋ชฉ์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐํ ๋งํผ ์ถฉ๋ถํ ์ฉ๊ฐํ์ต๋๋ค) ์์ฒญ๋ +1 ์คํธ๊ณผ ๊ณ ์์ด ์ฌ์ง๊ณผ์ ๊ฐ๋ ์ธ์ ๋๋ฌธ์ ์ด๋ฏธ ์ด ๋ฌธ์ ์ ๊ตฌ๋ ์ ์ทจ์ํ์ต๋๋ค(์ฃ์กํฉ๋๋ค) .
์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊ฒฝ์ฐ์๋ง ์๋ฆผ์ ๋ฐ๋๋ก ์๋ฆผ ์ค์ ์ ์กฐ์ ํ์ธ์.
CI/CD๋ฅผ ์ ์ธํ๊ณ ์ผ๋ถ ๊ฐ๋ฐ์(@LongLiveCHIEF ์ฐธ์กฐ)๋ ๋ํน๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ํธํ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์นํ๊ฑฐ๋ ํ์ ๋ฒ์ ๊ด๋ฆฌ์๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ข์ํ์ง ์๋๋ค๋ ์ ์ ์ง์ ํ๊ณ ์ถ์ต๋๋ค. cli ๋๊ตฌ๊ฐ ํ์ฐ์ ์ผ๋ก ์์กดํ๋ ๋ชจ๊ตญ์ด.
๊ธฐ์กด ์ค์น ๋จ๊ณ๋ณด๋ค docker pull aws-cli
๊ฒ์ด ๋ ์ฝ์ต๋๋ค... python ๊ฐ๋ฐ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ฅผ ์ํด ์ข์ python ๋ฒ์ ๊ณผ ํ๊ฒฝ์ ์ค์ ํ๋ ์ค๋ฒํค๋๊ฐ ์๊ฑฐ๋ ์๋ง๋ ์ฌ์ง์ด ๊ฐ ํ๋ก์ ํธ.
๊ฐ๋ฐ์๊ฐ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ๋ค์ํ ๋๊ตฌ(๋ฃจ๋น ๊ธฐ๋ฐ cli, ๋ ธ๋ ๊ธฐ๋ฐ cli)๋ก ํ์ฅํ๊ณ ์ฝ๋ฉํ์ง ์์ ์ธ์ด์ ๋ํ ํ๊ฒฝ ์ค์ ์ ๋ฐฐ์์ผ ํฉ๋๋ค.
๋ด๊ฐ ์ฌ๊ธฐ์ ๋งํ๊ณ ์๋ ์์ ์ ๋์ปค ์คํ์ด ์ ๋น์ฟผํฐ์ค์ด๋ฉฐ ๋ชจ๋ ๋ชจ๊ตญ์ด ์ค์ /๊ตฌ์ฑ์ ์ ๊ฑฐํ๊ณ ์ฌ์ฉ์๊ฐ ์์ ์ ์ฝ๊ฒ ์ํํ ์ ์๋๋ก ํ๋ค๋ ๊ฒ์ ๋๋ค.
์ฌ์ฉ์๊ฐ ์์ ์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋๋ผ๋ ์ฌ์ ํ ์ด๋ฌํ ์ค์ ์์ ๊ณผ ์จ๋ฆํด์ผ ํฉ๋๋ค.
์ ๋ ํ์ด์ฌ์ผ๋ก ์ฝ๋ฉํ์ง ์์ง๋ง, ์์ํ๊ฒ ๋๊ตฌ ๊ณต๊ธ์๊ฐ ๊ทธ๊ฒ์ "์ฌ์ํ" ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๊ธฐ ๋๋ฌธ์ ๋ค์ํ ๋ฒ์ ์ ํ์ด์ฌ์์ ๊ฐ์ ํ๊ฒฝ์ ๋ด์ฉ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐฐ์ฐ์ง ์์ ์ ์์์ต๋๋ค.
๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ๋๊ตฌ๋ฅผ ๋ง๋ ์ฌ๋๊ณผ ๋์ผํ ๋ฐฐ๊ฒฝ์ ๊ฐ์ง ๊ฒ์ ์๋๋ฉฐ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์กด๊ฒฝ์ ํ์์ ๋๋ค. ๋๊ตฌ ์ ๊ณต์ ์ฒด๋ ๋ชจ๊ตญ์ด ํน์ ํ๊ฒฝ ๋ฌธ์ ์ ์ค๋ฒํค๋๋ฅผ ๋งค์ฐ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ง๋ง ์ฑํ์๋ ์ ํ ๊ฐ๋ฐ์ ๋ค์ํ ๋ผ์ดํ์ฌ์ดํด ๋จ๊ณ๋ฅผ ํตํด ์ด ์ค๋ฒํค๋๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ํจ์ฌ ๋ ๋ง์ ์๊ฐ์ ์๋นํด์ผ ํฉ๋๋ค.
๊ทธ๋๋ ์์.
@jamesls ์ฌ๊ธฐ์์ ์ปค๋ฎค๋ํฐ ํผ๋๋ฐฑ์ ๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๊ณต์ ํธ์คํ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์ ์ฉํ ์ค๊ฐ ๋จ๊ณ๋ ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์ธ๊ธฐ ์๋ ๊ธฐ๋ณธ ๋์ปค ์ด๋ฏธ์ง(์: node, alpine, ubuntu, amazon2, python)์ ๋ํ ์ค์น ๊ถ์ฅ ์ฌํญ์ ๊ฒ์ํ๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ์๊ฒ ์ฆ์ ๊ฐ์น๊ฐ ์์ ๊ฒ์ ๋๋ค.
์ ๊ฐ ๋๊ธฐ์
์์ ์ผํ๋ฉด์ ๋ค์๊ณผ ๊ฐ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ฒ ์ต๋๋ค.
https://github.com/aws/aws-codebuild-docker-images
https://hub.docker.com/r/amazon/aws-codebuild-local
์ ๊ด๋ฆฌ๋ ๊ฒ ๊ฐ์ง๋ ์์ง๋ง ์ฌ๊ธฐ์ ํ๋ ๋ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ์ผ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค: https://hub.docker.com/r/amazon/aws-cli
๋๋์ด ์จ ๊ฒ ๊ฐ์ต๋๋ค :)
@pablosjv ๊ณต์ ๋๋ ์ธ์ฆ๋ ์ด๋ฏธ์ง๊ฐ ์๋๋๋ค. ์์๋์ธ์.
@anjakammer ๋์ปค์์ ๊ณต๊ฐํ ๊ณต์ ์ด๋ฏธ์ง ๋ ์๋์ง๋ง ์๋ง์กด ๊ณต์ ์ด๋ฏธ์ง ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋ค์ด ์์ง ์ด ๋ฌธ์ ์ ๋ํด ์๋ฌด ๋ง๋ ํ์ง ์์๊ธฐ ๋๋ฌธ์ ํ๋ ์์ฐ ์ค๋น๊ฐ ๋์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ด AWS ์ด๋ฏธ์ง๊ฐ 98.42MB์ธ ๋ฐ๋ฉด ๋ค๋ฅธ ์ด๋ฏธ์ง(์: atlassian/pipelines-awscli )๋ ํจ์ฌ ์์์ง
CLI ํ์์ด ์ฌ๊ธฐ์ ์์ต๋๋ค. ์, AWS CLI v2์ฉ Docker ์ด๋ฏธ์ง๋ฅผ ๊ณต์์ ์ผ๋ก ์ถ์ํ์์ ํ์ธํ ์ ์์ต๋๋ค! ๋ค์์ ์ฝ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ฒ ์ต๋๋ค. ์ด๋ฏธ์ง์ ๋ํ ํผ๋๋ฐฑ์ด๋ ์ง๋ฌธ์ด ์๋ ๊ฒฝ์ฐ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ค๋ฅธ GitHub ๋ฌธ์ ๋ฅผ ์ฌ์ญ์์ค.
์ํธ #3291์ ๊ฐ๋ง์์ธ ๋ช ๋ ์ , ๋ด ๊ณ ๋ฏผ์ด ๋ง์นจ๋ด ํ์ธ๋๊ณ ์ด์ ๊ณต์ Docker ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ ๊ฒ์ ๋ณด๋ ๊ธฐ์จ์ผ๋ก ๊ฐ์ด์ด ๋ญํดํฉ๋๋ค. ์ด ์ด๋ฏธ์ง๋ฅผ ๋ง๋๋ ๋ฐ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ ธ๋์ง์ ๋ํ ํฌํธ ์ท, ๋๋ ์ด๊ฒ์ด ๋ง๋ณด๋ค ํจ์ฌ ์ฌ์ ์ ๊ฒ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค. ๊ทธ๋์ ์ด๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ Amazon ๊ฐ๋ฐ์๋ค์๊ฒ ํฐ ๊ฐ์ฌ๋ฅผ ๋๋ฆฝ๋๋ค. ์ฌ๋ฌ๋ถ ๋ชจ๋ ํ๋ฅญํ ์ผ์ ํ๊ณ ์์ต๋๋ค. ๐๐๐
_์๋ ์ฌ, ๊ฐ์ฌํฉ๋๋ค. ์ด์ ๊ฐ์กฑ์ ๋ณด๋ด์ฃผ์ธ์._
Dockerfile
์ด๋์๋ ์ฌ์ฉํ ์ ์์ต๋๊น?
@zerkms Aha, v2
์ง์ ์์ ์ฐพ์์ต๋๋ค.
https://github.com/aws/aws-cli/blob/v2/docker/Dockerfile
๋๋ ๊ทธ๋ค์ด ๋ง์นจ๋ด ๊ทธ๊ฒ์ํ๊ณ ์๋ค๊ณ ์๊ฐํ์ง๋ง Gitlab CI https://hub.docker.com/r/amazon/aws-cli ์์ ์คํํ ์ ์์ต๋๋ค.
๋์ Gitlab์ AWS CLI ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค. ๊ทธ๋ฅ ์ฌ์ฉ
image: registry.gitlab.com/gitlab-org/cloud-deploy:latest
์ ๋ฐ์ดํธ:
์์ ์ด๋ฏธ์ง๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๋์ ์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ธ์.
image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
GitLab CI์์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด amazon/aws-cli
์ด๋ฏธ์ง๊ฐ ์ง์
์ ์ /usr/local/bin/aws
๋ก ์ค์ ํ๋ฏ๋ก ์๋์ผ๋ก ๋น ์ง์
์ ์ ์ค์ ํด์ผ ํฉ๋๋ค. ์๋ฅผ...
image:
name: amazon/aws-cli
entrypoint: [""]
@mikesir87 ์ ๊ทธ๋?
@pSnehanshu docker run --rm amazon/aws-cli <<command>>
์ฒ๋ผ docker run --rm amazon/aws-cli aws <<command>>
๋์ aws <<command>>
cli๋ฅผ ์คํํ๋ ๊ฒ๊ณผ ์ ์ฌํ cli ์์ฒด์ธ ๊ฒ์ฒ๋ผ ์ด๋ฏธ์ง๋ฅผ ์คํํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค docker run --rm amazon/aws-cli <<command>>
. ์ ํธํ๋ ๊ฒ๊ณผ ์ด๋ฏธ์ง๋ฅผ ์คํํ๋ ๋ฐฉ์์ ๋ฐ๋ผ ๊ฐ ์ ๊ทผ ๋ฐฉ์์๋ ์ฅ๋จ์ ์ด ์์ง๋ง ์ด์จ๋ ์ง์
์ ์ ์ฌ์ ์ํ๋ฉด ํธ๋ฆญ์ ์ํํด์ผ ํฉ๋๋ค.
@lucasbasquerotto ์ด์จ๋ Gitlab์ ์ด๋ฏธ์ง๋ก ์ ์ฐฉํ์ต๋๋ค. ์ด์จ๋ ์ค๋ช ๊ฐ์ฌํฉ๋๋ค.
Alpine Linux์์ AWS CLI v2๊ฐ ์๋ํ๋๋ก ํ๋ ๋ฐ ์ฌ์ ํ ๊ด์ฌ์ด ์๋ ์ฌ๋์ด ์๋ ๊ฒฝ์ฐ Dockerfile์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
FROM alpine:3.11 AS builder
ENV GLIBC_VER=2.31-r0
# install glibc compatibility for alpine
RUN apk add --no-cache --virtual .build-deps \
binutils \
curl
RUN curl -sL https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -o /etc/apk/keys/sgerrand.rsa.pub
RUN curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-${GLIBC_VER}.apk
RUN curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-bin-${GLIBC_VER}.apk
RUN apk add --no-cache \
glibc-${GLIBC_VER}.apk \
glibc-bin-${GLIBC_VER}.apk
# install AWS CLI
RUN curl -sL https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip
RUN unzip awscliv2.zip
RUN aws/install
FROM alpine:3.11
MAINTAINER Barry Lagerweij
RUN apk --update --no-cache --virtual .build-deps add \
groff \
&& rm -rf /var/cache/apk/*
COPY --from=builder /usr/local/aws-cli/ /usr/local/aws-cli/
COPY --from=builder /usr/local/bin/ /usr/local/bin/
COPY --from=builder /usr/lib/ /usr/lib/
COPY --from=builder /lib64 /lib64
COPY --from=builder /usr/glibc-compat/ /usr/glibc-compat/
COPY --from=builder /lib/ld-linux-x86-64.so.2 /lib/
๋ฌธ์ ๋ AWS CLI v2๋ GLIBC๋ฅผ ์ฌ์ฉํ์ง๋ง Alpine Linux๋ GLIBC ์ง์์ด ์ ํ์ ์ด๋ผ๋ ์ ์ ๋๋ค(๊ฒฝ๋ ๋์์ธ 'musl' ์ฌ์ฉ). ์์ Dockerfile์ ๋๋ฝ๋ glibc ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ๋ค๋จ๊ณ Dockerfile์ ์ฌ์ฉํ์ฌ ์ต์ข ์ด๋ฏธ์ง๋ฅผ ์๊ฒ ์ ์งํฉ๋๋ค. ์ฝ๊ฐ์ ๋ ธ๋ ฅ์ผ๋ก /usr/lib์์ ์ค์ ๋ก ํ์ํ ํ์ผ๋ง ํฌํจํ์ฌ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ํจ์ฌ ๋ ์ค์ผ ์ ์์ต๋๋ค.
๋ช ๊ฐ์ง ๋ฆฌํฉํ ๋ง์ ์ํํ ํ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ๋ ์ค์ผ ์ ์์์ต๋๋ค.
FROM alpine:3.11
ENV GLIBC_VER=2.31-r0
# install glibc compatibility for alpine
RUN apk --no-cache add \
binutils \
curl \
&& curl -sL https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -o /etc/apk/keys/sgerrand.rsa.pub \
&& curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-${GLIBC_VER}.apk \
&& curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-bin-${GLIBC_VER}.apk \
&& apk add --no-cache \
glibc-${GLIBC_VER}.apk \
glibc-bin-${GLIBC_VER}.apk \
&& curl -sL https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip \
&& unzip awscliv2.zip \
&& aws/install \
&& rm -rf \
awscliv2.zip \
aws \
/usr/local/aws-cli/v2/*/dist/aws_completer \
/usr/local/aws-cli/v2/*/dist/awscli/data/ac.index \
/usr/local/aws-cli/v2/*/dist/awscli/examples \
&& apk --no-cache del \
binutils \
curl \
&& rm glibc-${GLIBC_VER}.apk \
&& rm glibc-bin-${GLIBC_VER}.apk \
&& rm -rf /var/cache/apk/*
์๋ ์์ฑ ์์ธ ๋ฐ ์์ ํ์ผ์ด ์ ๊ฑฐ๋๊ณ 'groff'๋ ์ ๊ฑฐ๋ฉ๋๋ค(์ฌ๋๋ค์ด Docker ์ด๋ฏธ์ง์์ ๋์๋ง ํ์ด์ง๊ฐ ํ์ํ์ง ์๋ค๊ณ ๊ฐ์ ํจ)
์ด๊ฒ์ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. https://github.com/flaccid/docker-awscli/blob/master/Dockerfile ์์ ์ ์ํํ์ง๋ง ์ด๋ฏธ์ง์ ๋ค๋ฅธ ๊ฒ์ด ํ์ํ ๊ฒฝ์ฐ(์ ํจํ ์ฌ์ฉ ์ฌ๋ก) github ๋ฌธ์ ๋ฅผ ํตํด ์๋ ค์ฃผ์ญ์์ค.
์ด๊ฒ์ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. https://github.com/flaccid/docker-awscli/blob/master/Dockerfile ์์ ์ ์ํํ์ง๋ง ์ด๋ฏธ์ง์ ๋ค๋ฅธ ๊ฒ์ด ํ์ํ ๊ฒฝ์ฐ(์ ํจํ ์ฌ์ฉ ์ฌ๋ก) github ๋ฌธ์ ๋ฅผ ํตํด ์๋ ค์ฃผ์ญ์์ค.
์์ APK๋ v2 CLI๊ฐ ์๋ AWS-CLI 1.18 ๊ธฐ๋ฐ์ ๋๋ค.
Amazon์ด CLI ๋ฒ์ 1๋ก ์ด๋ฏธ์ง ์์ฑ์ ๊ณ ๋ คํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?
@keeganwitt ํด๋น ์์ฒญ์ ๋ํ ์ ๋ฌธ์ ๋ฅผ ์ด์ด์ผ ํฉ๋๋ค. :+1:
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@matti ๋ฐ @nscavell , ์ด ์ฃผ์ ์ ๋ํ ํ์ ์กฐ์น์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ด ๊ธฐ๋ฅ ์์ฒญ์ ๊ด์ฌ์ด ์์ด ๊ณ์ ์ด์ด ๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๋ฌธ์ ๋ AWS CLI์ ๊ณต์ Docker ์ด๋ฏธ์ง๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ด์ฌ์ ํ์ํ๊ณ ์ฐ์ ์์๋ฅผ ์ ํ๋ ๋ฐ ๋์์ด ๋๋๋ก +1ํ์ธ์.
๊ฐ์ฌ ํด์.