GitHub Actions์ ๋ํ ์ธ๋ถ ์คํ ๋ฆฌ์ง ์ ๋ณด
GitHub Actions๋ ์ธ๋ถ blob ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ํฌํ๋ก ์คํ์ผ๋ก ์์ฑ๋ ๋ฐ์ดํฐํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์ ์ฅ๋ ๋ฐ์ดํฐ์๋ ์ํฌํ๋ก ๋ก๊ทธ, ์บ์ ๋ฐ ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ ๋น๋ ์ํฐํฉํธ๊ฐ ํฌํจ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ GitHub Enterprise Server์ฉ GitHub Actions ์์์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ธ๋ถ ์คํ ๋ฆฌ์ง ๊ณต๊ธ์์ ์ฐ๊ฒฐํ๋๋ก GitHub Enterprise Server์(๋ฅผ) ๊ตฌ์ฑํ๋ ๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค.
- OpenID Connect(OIDC)
- ๋น๋ฐ์ ์ฌ์ฉํ๋ ๊ธฐ์กด ์๊ฒฉ ์ฆ๋ช ๊ธฐ๋ฐ ์ธ์ฆ
์คํ ๋ฆฌ์ง ๊ณต๊ธ์์ ๋ํ ์ค์ํ๊ณ ์๋ช ์ด ๊ธด ์๊ฒฉ ์ฆ๋ช ๋น๋ฐ์ ๋ง๋ค๊ฑฐ๋, ๊ด๋ฆฌํ ํ์๊ฐ ์๊ณ ๋ ธ์ถ๋ ์ํ์ด ์์ผ๋ฏ๋ก ๊ฐ๋ฅํ ๊ฒฝ์ฐ OIDC๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. OIDC๋ฅผ ์ฌ์ฉํ์ฌ ํธ๋ฌ์คํธ๋ฅผ ์ ์ํ ํ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ๊ณต๊ธ์๋ GitHub Enterprise Server ์ธ์คํด์ค์ ๋จ๊ธฐ ์ก์ธ์ค ํ ํฐ์ ์๋์ผ๋ก ๋ฐ๊ธํฉ๋๋ค. ์ด ํ ํฐ์ ์๋์ผ๋ก ๋ง๋ฃ๋ฉ๋๋ค.
ํ์ ์กฐ๊ฑด
์ฐธ๊ณ ํญ๋ชฉ
GitHub์์ ์ง์ํ๋ ์ ์ผํ S3 ์คํ ๋ฆฌ์ง ๊ณต๊ธ์๋ AMAZON S3 ๋ฐ MINIO Gateway for NAS์ ๋๋ค.
GitHub ํํธ๋๊ฐ GitHub Enterprise Server์์ GitHub Actions์ผ๋ก ์์ ํ๋ ๊ฒ์ผ๋ก ์์ฒด ์ ํจ์ฑ์ ๊ฒ์ฌํ ๋ค๋ฅธ S3 API ํธํ ์คํ ๋ฆฌ์ง ์ ํ์ด ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ GHES Storage Partners ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
GitHub ๊ธฐ์ ํํธ๋ ๊ด๊ณ ํ๋ก๊ทธ๋จ์ ํตํด ์ ํจ์ฑ์ ๊ฒ์ฌํ ์คํ ๋ฆฌ์ง ์ ํ์ ๊ฒฝ์ฐ, ์คํ ๋ฆฌ์ง ๊ณต๊ธ์๋ GitHub Actions์์ ์คํ ๋ฆฌ์ง ์ ํ์ ์ฌ์ฉํ๊ธฐ ์ํ ์ง์ ๋ฐ ์ค๋ช ์๋ฅผ ๋ด๋นํฉ๋๋ค.
GitHub Actions๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํ๊ธฐ ์ ์ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํ๋์ง ํ์ธํฉ๋๋ค.
-
์ํฌํ๋ก ์คํ์์ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ Amazon S3 ๋ฒํท์ ๋ง๋ญ๋๋ค.
-
GitHub Actions์ ๋ํ ํ๋์จ์ด ์๊ตฌ ์ฌํญ์ ๊ฒํ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ GitHub Enterprise Server์ฉ GitHub Actions ์์์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
-
GitHub Enterprise Server์ ๋๋ฉ์ธ์ ๋ํด TLS๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ TLS ๊ตฌ์ฑ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ฐธ๊ณ ํญ๋ชฉ
์ ๋ขฐํ ์ ์๋ ๊ธฐ๊ด์์ ์๋ช ํ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ GitHub Enterprise Server์์ TLS๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์์ฒด ์๋ช ๋ ์ธ์ฆ์๊ฐ ์๋ํ ์ ์์ง๋ง ์์ฒด ํธ์คํ ์คํ๊ธฐ์๋ ์ถ๊ฐ ๊ตฌ์ฑ์ด ํ์ํ๋ฉฐ ํ๋ก๋์ ํ๊ฒฝ์๋ ๊ถ์ฅ๋์ง ์์ต๋๋ค.
-
GitHub์ HTTP ํ๋ก์ ์๋ฒ๊ฐ ๊ตฌ์ฑ๋์ด ์๋ ๊ฒฝ์ฐ:
-
HTTP ํ๋ก์ ์ ์ธ ๋ชฉ๋ก์
.localhost๋ฐ127.0.0.1,::1์(๋ฅผ) ์ด ์์๋ก ์ถ๊ฐํด์ผ ํฉ๋๋ค. -
์ธ๋ถ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ๋ผ์ฐํ ํ ์ ์๋ ๊ฒฝ์ฐ, ์ธ๋ถ ์คํ ๋ฆฌ์ง URL๋ ์ ์ธ ๋ชฉ๋ก์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
ํ๋ก์ ์ค์ ๋๋ ๋ณ๊ฒฝ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์์๋ฐ์ด๋ ์น ํ๋ก์ ์๋ฒ ๊ตฌ์ฑ(์)๋ฅผ ์ฐธ์กฐํ์ธ์.
-
์คํ ๋ฆฌ์ง ๊ณต๊ธ์์ ๋ํ ์ฐ๊ฒฐ์ OIDC๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ GitHub Enterprise Server ์ธ์คํด์ค์์ ๋ค์ OIDC ํ ํฐ ์๋น์ค URL์ ๊ณต์ฉ ์ธํฐ๋ท์ ๋ ธ์ถํด์ผ ํฉ๋๋ค.
https://HOSTNAME/_services/token/.well-known/openid-configuration https://HOSTNAME/_services/token/.well-known/jwks์ด๋ ๊ฒ ํ๋ฉด ์คํ ๋ฆฌ์ง ๊ณต๊ธ์๊ฐ ์ธ์ฆ์ ์ํด GitHub Enterprise Server ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
OIDC๋ฅผ ์ฌ์ฉํ์ฌ Amazon S3์ GitHub Actions ํ์ฑํ(๊ถ์ฅ)
Amazon S3 ๋ฒํท์ OIDC๋ฅผ ์ฌ์ฉํ๋๋ก GitHub Enterprise Server์(๋ฅผ) ๊ตฌ์ฑํ๋ ค๋ฉด ๋จผ์ Amazon OIDC ๊ณต๊ธ์๋ฅผ ๋ง๋ ๋ค์, IAM(ID ๋ฐ ์ก์ธ์ค ๊ด๋ฆฌ) ์ญํ ์ ๋ง๋ค๊ณ ๋ง์ง๋ง์ผ๋ก ๊ณต๊ธ์์ ์ญํ ์ ์ฌ์ฉํ์ฌ S3 ๋ฒํท์ ์ก์ธ์คํ๋๋ก GitHub Enterprise Server์(๋ฅผ) ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
1. Amazon OIDC ๊ณต๊ธ์ ๋ง๋ค๊ธฐ
-
GitHub Enterprise Server ์ธ์คํด์ค์ ์ง๋ฌธ์ ๊ฐ์ ธ์ต๋๋ค.
-
๋ค์ OpenSSL ๋ช ๋ น์ ์ฌ์ฉํ์ฌ GitHub Enterprise Server ์ธ์คํด์ค์ ๋ํ SHA1 ์ง๋ฌธ์ ๊ฐ์ ธ์ต๋๋ค. ์ด๋
HOSTNAME์ GitHub Enterprise Server ์ธ์คํด์ค์ ๊ณต์ฉ ํธ์คํธ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.Shell openssl s_client -connect HOSTNAME:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -sha1 -in /dev/stdin
openssl s_client -connect HOSTNAME:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -sha1 -in /dev/stdin์์:
openssl s_client -connect my-ghes-host.example.com:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -sha1 -in /dev/stdin์ด ๋ช ๋ น์ ๋ค์ ํ์์ผ๋ก ์ง๋ฌธ์ ๋ฐํํฉ๋๋ค.
SHA1 Fingerprint=AB:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56 -
์ง๋ฌธ ๊ฐ์์ ์ฝ๋ก (
:)์ ์ ๊ฑฐํ๊ณ ๋์ค์ ์ฌ์ฉํ ์ ์๋๋ก ๊ฐ์ ์ ์ฅํฉ๋๋ค.์๋ฅผ ๋ค์ด ์ด์ ๋จ๊ณ์์ ๋ฐํ๋ ๊ฐ์ ์ง๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
AB1234567890ABCDEF1234567890ABCDEF123456
-
-
AWS CLI์์ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ GitHub Enterprise Server ์ธ์คํด์ค์ ๋ํ OIDC ๊ณต๊ธ์๋ฅผ ๋ง๋ญ๋๋ค.
HOSTNAME์ GitHub Enterprise Server ์ธ์คํด์ค์ ๊ณต์ฉ ํธ์คํธ ์ด๋ฆ์ผ๋ก ๋ฐ๊พธ๊ณTHUMBPRINT๋ฅผ ์ด์ ๋จ๊ณ์ ์ง๋ฌธ ๊ฐ์ผ๋ก ๋ฐ๊ฟ๋๋ค.Shell aws iam create-open-id-connect-provider \ --url https://HOSTNAME/_services/token \ --client-id-list "sts.amazonaws.com" \ --thumbprint-list "THUMBPRINT"
aws iam create-open-id-connect-provider \ --url https://HOSTNAME/_services/token \ --client-id-list "sts.amazonaws.com" \ --thumbprint-list "THUMBPRINT"์์:
Shell aws iam create-open-id-connect-provider \ --url https://my-ghes-host.example.com/_services/token \ --client-id-list "sts.amazonaws.com" \ --thumbprint-list "AB1234567890ABCDEF1234567890ABCDEF123456"
aws iam create-open-id-connect-provider \ --url https://my-ghes-host.example.com/_services/token \ --client-id-list "sts.amazonaws.com" \ --thumbprint-list "AB1234567890ABCDEF1234567890ABCDEF123456"AWS CLI ์ค์น์ ๋ํ ์์ธํ ๋ด์ฉ์ Amazon ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฒฝ๊ณ
GitHub Enterprise Server ์ธ์คํด์ค์ ๋ํ ์ธ์ฆ์๊ฐ ๋์ค์ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ OIDC ํธ๋ฌ์คํธ๊ฐ ๊ณ์ ์๋ํ๋๋ก ํ๋ ค๋ฉด Amazon OIDC ๊ณต๊ธ์์ ์ง๋ฌธ ๊ฐ์ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
2. IAM ์ญํ ๋ง๋ค๊ธฐ
-
AWS ์ฝ์์ ์ด๊ณ IAM(ID ๋ฐ ์ก์ธ์ค ๊ด๋ฆฌ) ์๋น์ค๋ก ์ด๋ํฉ๋๋ค.
-
์ผ์ชฝ ๋ฉ๋ด์ "์ก์ธ์ค ๊ด๋ฆฌ"์์ ์ญํ ์ ํด๋ฆญํ ๋ค์ ์ญํ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
"์ ๋ขฐํ ์ ์๋ ์ํฐํฐ ์ ํ" ํ์ด์ง์์ ๋ค์ ์ต์ ์ ์ ๋ ฅํฉ๋๋ค.
- "์ ๋ขฐํ ์ ์๋ ์ํฐํฐ ํ์"์์ ์น ID๋ฅผ ํด๋ฆญํฉ๋๋ค.
- "ID ๊ณต๊ธ์"์ ๊ณต๊ธ์ ์ ํ ๋๋กญ๋ค์ด ๋ฉ๋ด๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ ๋จ๊ณ์์ ๋ง๋ OIDC ๊ณต๊ธ์๋ฅผ ์ ํํฉ๋๋ค. ํด๋น ๊ณต๊ธ์์ ์ด๋ฆ์
HOSTNAME/_services/token์ ๋๋ค. ์ฌ๊ธฐ์HOSTNAME์ GitHub Enterprise Server ์ธ์คํด์ค์ ๊ณต์ฉ ํธ์คํธ ์ด๋ฆ์ ๋๋ค. - "๋์ ๊ทธ๋ฃน"์์
sts.amazonaws.com์ ์ ํํฉ๋๋ค.
-
๋ค์์ ํด๋ฆญํฉ๋๋ค.
-
"๊ถํ ์ถ๊ฐ" ํ์ด์ง์์ ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ
AmazonS3FullAccess์ ์ฑ ์ ์ฐพ์ ์ ํํฉ๋๋ค. -
๋ค์์ ํด๋ฆญํฉ๋๋ค.
-
"์ด๋ฆ, ๊ฒํ ๋ฐ ๋ง๋ค๊ธฐ" ํ์ด์ง์์ ์ญํ ์ ์ด๋ฆ์ ์ ๋ ฅํ๊ณ ์ญํ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
IAM "์ญํ " ํ์ด์ง์์ ๋ฐฉ๊ธ ๋ง๋ ์ญํ ์ ์ ํํฉ๋๋ค.
-
๋์ค์ ํ์ํ๋ฏ๋ก "์์ฝ"์์ ์ญํ ์ ARN ๊ฐ์ ์ ์ด ๋ก๋๋ค.
-
ํธ๋ฌ์คํธ ๊ด๊ณ ํญ์ ํด๋ฆญํ ๋ค์ ์ ๋ขฐ ์ ์ฑ ํธ์ง์ ํด๋ฆญํฉ๋๋ค.
-
์ ๋ขฐ ์ ์ฑ ์ ํธ์งํ์ฌ ์
subํด๋ ์์ ์ถ๊ฐํฉ๋๋ค.Condition๊ฐ์ ๋ค์ ์์ ์ ์ผ์นํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์HOSTNAME์ GitHub Enterprise Server ์ธ์คํด์ค์ ๊ณต์ฉ ํธ์คํธ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.... "Condition": { "StringEquals": { "HOSTNAME/_services/token:aud": "sts.amazonaws.com", "HOSTNAME/_services/token:sub": "HOSTNAME" } } ...์์:
... "Condition": { "StringEquals": { "my-ghes-host.example.com/_services/token:aud": "sts.amazonaws.com", "my-ghes-host.example.com/_services/token:sub": "my-ghes-host.example.com" } } ... -
์ ์ฑ ์ ๋ฐ์ดํธ๋ฅผ ํด๋ฆญํฉ๋๋ค.
3. OIDC๋ฅผ ์ฌ์ฉํ์ฌ Amazon S3์ ์ฐ๊ฒฐํ๋๋ก GitHub Enterprise Server ๊ตฌ์ฑ
-
ํ์ด์ง์ ์ค๋ฅธ์ชฝ ์๋จ์ ์๋ GitHub Enterprise Server์ ๊ด๋ฆฌ ๊ณ์ ์์ ์ ํด๋ฆญํฉ๋๋ค.
-
โSite adminโ(์ฌ์ดํธ ๊ด๋ฆฌ์) ํ์ด์ง์ ์์ง ์๋ ๊ฒฝ์ฐ ์ผ์ชฝ ์๋จ์์ Site admin(์ฌ์ดํธ ๊ด๋ฆฌ์)์ ํด๋ฆญํฉ๋๋ค.
-
" ์ฌ์ดํธ ๊ด๋ฆฌ์" ์ฌ์ด๋๋ฐ์์ ๊ด๋ฆฌ ์ฝ์ ์ ํด๋ฆญํฉ๋๋ค.
-
"์ค์ " ์ฌ์ด๋๋ฐ์์ ์์ ์ ํด๋ฆญํฉ๋๋ค.
-
"GitHub Actions"์์ GitHub Actions ํ์ฑํ๋ฅผ ์ ํํฉ๋๋ค.
-
"์ํฐํฉํธ ๋ฐ ๋ก๊ทธ ์คํ ๋ฆฌ์ง"์ "Amazon S3" ์์ ์๋ ์ค์น ํ๋ก๊ทธ๋จ์ ํด๋ฆญํฉ๋๋ค.
-
"์ธ์ฆ"์์ OIDC(OpenID Connect) ๋ฅผ ์ ํํ๊ณ ์คํ ๋ฆฌ์ง ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
- AWS S3 ๋ฒํท: S3 ๋ฒํท์ ์ด๋ฆ์ ๋๋ค.
- AWS ์ญํ : ์ด์ ์ ์ฐจ์์ ๋ง๋ ์ญํ ์ ARN์
๋๋ค. ์๋ค ๋ค์ด
arn:aws:iam::123456789:role/my-role-name์ ๋๋ค. - AWS ๋ฆฌ์ : ๋ฒํท์ AWS ๋ฆฌ์ ์
๋๋ค. ์๋ค ๋ค์ด
us-east-1์ ๋๋ค.
-
์คํ ๋ฆฌ์ง ์ค์ ํ ์คํธ ๋ฒํผ์ ํด๋ฆญํ์ฌ ์คํ ๋ฆฌ์ง ์ค์ ์ ์ ํจ์ฑ์ ํ์ธํฉ๋๋ค.
์คํ ๋ฆฌ์ง ์ค์ ์ ์ ํจ์ฑ์ ๊ฒ์ฆํ ๋ ์ค๋ฅ๊ฐ ์์ผ๋ฉด ์คํ ๋ฆฌ์ง ๊ณต๊ธ์์ ์ค์ ์ ํ์ธํ๊ณ ๋ค์ ๊ฒ์ฌํฉ๋๋ค.
-
"์ค์ " ์ฌ์ด๋๋ฐ์์ ์ค์ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
๊ด๋ฆฌ ์ฝ์์ ์ค์ ์ ์ ์ฅํ๋ฉด ์์คํ ์๋น์ค๊ฐ ๋ค์ ์์๋์ด ์ฌ์ฉ์์๊ฒ ํ์๋๋ ๊ฐ๋ ์ค์ง ์๊ฐ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
-
๊ตฌ์ฑ ์คํ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
์ก์ธ์ค ํค๋ฅผ ์ฌ์ฉํ์ฌ Amazon S3 ์คํ ๋ฆฌ์ง๋ก GitHub Actions ์ฌ์ฉ
-
AWS ์ฝ์ ๋๋ CLI๋ฅผ ์ฌ์ฉํ์ฌ ์คํ ๋ฆฌ์ง ๋ฒํท์ ๋ํ ์ก์ธ์ค ํค๋ฅผ ๋ง๋ญ๋๋ค. GitHub Actions์๋ ๋ฒํท์ ์ก์ธ์คํ๋ ์ก์ธ์ค ํค์ ๋ํ ๋ค์ ๊ถํ์ด ํ์ํฉ๋๋ค.
s3:PutObjects3:GetObjects3:ListBucketMultipartUploadss3:ListMultipartUploadPartss3:AbortMultipartUploads3:DeleteObjects3:ListBucketkms:GenerateDataKey(ํค ๊ด๋ฆฌ ์๋น์ค(KMS) ์ํธํ๋ฅผ ์ฌ์ฉ ์ค์ ํ ๊ฒฝ์ฐ)kms:Decrypt(ํค ๊ด๋ฆฌ ์๋น์ค(KMS) ์ํธํ๋ฅผ ์ฌ์ฉ ์ค์ ํ ๊ฒฝ์ฐ)
AWS ์ก์ธ์ค ํค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ AWS ID ๋ฐ ์ก์ธ์ค ๊ด๋ฆฌ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
-
ํ์ด์ง์ ์ค๋ฅธ์ชฝ ์๋จ์ ์๋ GitHub Enterprise Server์ ๊ด๋ฆฌ ๊ณ์ ์์ ์ ํด๋ฆญํฉ๋๋ค.
-
โSite adminโ(์ฌ์ดํธ ๊ด๋ฆฌ์) ํ์ด์ง์ ์์ง ์๋ ๊ฒฝ์ฐ ์ผ์ชฝ ์๋จ์์ Site admin(์ฌ์ดํธ ๊ด๋ฆฌ์)์ ํด๋ฆญํฉ๋๋ค.
-
" ์ฌ์ดํธ ๊ด๋ฆฌ์" ์ฌ์ด๋๋ฐ์์ ๊ด๋ฆฌ ์ฝ์ ์ ํด๋ฆญํฉ๋๋ค.
-
"์ค์ " ์ฌ์ด๋๋ฐ์์ ์์ ์ ํด๋ฆญํฉ๋๋ค.
-
"GitHub Actions"์์ GitHub Actions ํ์ฑํ๋ฅผ ์ ํํฉ๋๋ค.
-
"์ํฐํฉํธ ๋ฐ ๋ก๊ทธ ์คํ ๋ฆฌ์ง"์ "Amazon S3" ์์ ์๋ ์ค์น ํ๋ก๊ทธ๋จ์ ํด๋ฆญํฉ๋๋ค.
-
"์ธ์ฆ"์์ ์๊ฒฉ ์ฆ๋ช ๊ธฐ๋ฐ์ ์ ํํ๊ณ ์คํ ๋ฆฌ์ง ๋ฒํท์ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
-
AWS ์๋น์ค URL: ๋ฒํท์ ์๋น์ค URL์ ๋๋ค. ์๋ฅผ ๋ค์ด
us-west-2์ง์ญ์์ S3 ๋ฒํท์ ๋ง๋ ๊ฒฝ์ฐ ์ด ๊ฐ์https://s3.us-west-2.amazonaws.com์ด์ด์ผ ํฉ๋๋ค.์์ธํ ๋ด์ฉ์ AWS ์ค๋ช ์์์ AWS ์๋น์ค ์๋ํฌ์ธํธ๋ฅผ ์ฐธ์กฐํ์ธ์.
-
AWS S3 ๋ฒํท: S3 ๋ฒํท์ ์ด๋ฆ์ ๋๋ค.
-
AWS S3 ์ก์ธ์ค ํค ๋ฐ AWS S3 ๋น๋ฐ ํค: ๋ฒํท์ AWS ์ก์ธ์ค ํค ID ๋ฐ ๋น๋ฐ ํค์ ๋๋ค.
-
-
์คํ ๋ฆฌ์ง ์ค์ ํ ์คํธ ๋ฒํผ์ ํด๋ฆญํ์ฌ ์คํ ๋ฆฌ์ง ์ค์ ์ ์ ํจ์ฑ์ ํ์ธํฉ๋๋ค.
์คํ ๋ฆฌ์ง ์ค์ ์ ์ ํจ์ฑ์ ๊ฒ์ฆํ ๋ ์ค๋ฅ๊ฐ ์์ผ๋ฉด ์คํ ๋ฆฌ์ง ๊ณต๊ธ์์ ์ค์ ์ ํ์ธํ๊ณ ๋ค์ ๊ฒ์ฌํฉ๋๋ค.
-
"์ค์ " ์ฌ์ด๋๋ฐ์์ ์ค์ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
๊ด๋ฆฌ ์ฝ์์ ์ค์ ์ ์ ์ฅํ๋ฉด ์์คํ ์๋น์ค๊ฐ ๋ค์ ์์๋์ด ์ฌ์ฉ์์๊ฒ ํ์๋๋ ๊ฐ๋ ์ค์ง ์๊ฐ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
-
๊ตฌ์ฑ ์คํ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
๋ค์ ๋จ๊ณ
๊ตฌ์ฑ ์คํ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด GitHub Actions๊ฐ GitHub์์ ์ฌ์ฉ ์ค์ ๋ฉ๋๋ค. GitHub Actions ์ก์ธ์ค ๊ถํ ๊ด๋ฆฌ ๋ฐ ์์ฒด ํธ์คํ ์คํ๊ธฐ ์ถ๊ฐ์ ๊ฐ์ ๋ค์ ๋จ๊ณ๋ GitHub Enterprise Server์ฉ GitHub Actions ์์์ผ๋ก ๋์๊ฐ๋๋ค.