์ฟ ๋ฒ๋คํฐ์ค ํ๊ฒฝ์์ ARC ๋ฅผ ์ด์ฉํ๋ฉด ์ด๋ ต์ง ์๊ฒ ๋ค์ํ OS ์์ ์คํ ์ค์ผ์ผ๋ง์ ๊ธฐ๋ฐํ Runner ๊ตฌํ์ด ๊ฐ๋ฅํฉ๋๋ค.
Karpenter ์ ํจ๊ป๋ผ๋ฉด ๋ ํจ์จ์ ์ด์ฃ .
(Karpenter ๊ณผ ๊ถ๊ธํ๋ค๋ฉด ์ฌ๊ธฐ ์ฐธ๊ณ , ARC ๊ฐ ๊ถ๊ธํ๋ค๋ฉด ์ฌ๊ธฐ ์ฐธ๊ณ )
๋ํ EKS ์์ Linux ์ Windows ๊ธฐ๋ฐ์ ๋ ธ๋๋ฅผ ์ง์ํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋์ฐ๊ธฐ๋ง ํ๋ค๋ฉด ํ๋ ๋จ์๋ก Runner ๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
(EKS ์์ Windows ๋ฅผ ํ์ฑํ ํ๋ ๋ฐฉ๋ฒ์ด ๊ถ๊ธํ๋ค๋ฉด ์ฌ๊ธฐ ์ฐธ๊ณ )
ํ์ง๋ง MacOS ๋ ์๊ธฐ๊ฐ ๋ฌ๋ผ์..
EKS ์์ ์ง์์ ์ํด์ค๋๋ค.. ๊ทธ๋์ ๋ง์ฝ MacOS ๊ธฐ๋ฐ์ ์์ปค ๋ ธ๋๋ฅผ ํ๋ก๋น์ ๋ ํ๋ ค๊ณ ํ๋ค๋ฉด, ์๋ง MacOS ๊ธฐ๋ฐ์ ์ธ์คํด์ค๋ฅผ ๋์ด ํ ๊ฑฐ๊ธฐ์ ์๋์ผ๋ก EKS ํด๋ฌ์คํฐ์ ์กฐ์ธํด์ผ ํ ๊ฒ์ ๋๋ค.
๋ฟ๋ง ์๋๋ผ, Runner ์ด๋ฏธ์ง๋ Linux ๋ง ์ง์๋์ MacOS ๊ธฐ๋ฐ์ผ๋ก ๋ ๋ง๋ค์ด์ผ ํ์ฃ .
๊ด๋ฆฌ ์์๊ฐ ๋ง์์ง๋ ๊ฑด ๋์งธ์น๊ณ , ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ MacOS x86 ํ๋ฌ ๋น์ฉ์ด ์ฝ 130๋ง์ ์ ๋ ๋ฉ๋๋ค. ๋๋ฌด ๋น์ธ์.
AWS ์ธ์คํด์ค๋ ์ ํ์ ์ฌ์ง ์์ด ํฌ๊ธฐํด์ผ ํฉ๋๋ค.
๊ทธ๋์ ๊ฒฐ๊ตญ MacBook Intel ์ ์ง์ Runner ๋ฅผ ์คํ ์ํค๊ณ ์ ํฉ๋๋ค. ์ค๋์ ๊ทธ ๋ฐฉ๋ฒ์ ๋ํด ํ๋ฒ ์์๋ณด๊ณ ์ ํฉ๋๋ค.
๋ ์ธ ๋๋์ฝ๋~
Runner ๋ฅผ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ ๊นํ ๊ณต์ ๋ฌธ์์ ๋๋ฌด ์ ๋์ ์์ด์.
๋ณด๊ณ ๋ฐ๋ผํ๋ค๋ฉด ์ด๋ ต์ง ์๊ฒ ๋ฑ๋กํ ์ ์์ต๋๋ค.
๊นํ์ผ๋ก ๋ค์ด๊ฐ์ ์๋์ ๊ฐ์ ํญ์ ํด๋ฆญํ๋ฉด OS ๋ณ ์ปค๋งจ๋๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐ, ์ด๊ฑธ ์กฐ๊ธ๋ง ๋ฐ๊ฟ์ ์คํํ๋ฉด ๋ฉ๋๋ค.
MacOS, Windows, Linux ๊ทธ๋ฆฌ๊ณ arm64, x86 ์ด ์๋๋ฐ ๊ตฌ๋ถ ์ํด์ ํ์! x86 ์์ arm64 ๋ค์ด ๋ฐ๊ณ ์ ์๋์ง ๋ผ๋ ๋ป์ง์ ํ์ง ๋ง์! (๋ด๊ฐ ๊ทธ๋ฌ๋ค..)
๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ต๋๋ค. #Configure ๋ถ๋ถ์ด ๋ฐ๋์๋๋ฐ ๊ทธ ๋ถ๋ถ์ ๋ํด์๋ ์๋์์ ์ค๋ช ํฉ๋๋ค.
$ mkdir actions-runner && cd actions-runner
$ curl -o actions-runner-osx-x64-2.311.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.311.0/actions-runner-osx-x64-2.311.0.tar.gz
$ echo "f4d8d1dd850fd0889e0d250c82fa587b0e21934f8441143ee6772284b2ae6211 actions-runner-osx-x64-2.311.0.tar.gz" | shasum -a 256 -c
$ tar xzf ./actions-runner-osx-x64-2.311.0.tar.gz
#Configure
$ ./config.sh --name runner-macos-x86-01 --url https://github.com/<my-org> --runnergroup "my-group" --token "my-token" --labels macos,x86,my-runner --unattended --replace # you can add --ephemeral
$ ./svc.sh install
$ ./svc.sh start
--ephemeral ์ต์ ์ ์คํ ์ค์ผ์ผ๋ง ํ๊ฒฝ์ ์ ํฉํ ์ต์ ์ด๋ฏ๋ก ์ฌ๊ธฐ์ ์ง์ ํด์ฃผ์ง ์๊ฒ ์ต๋๋ค.
์ฐธ๊ณ ๋ก ARC ์์ ํ๋ ๋จ์์ Runner ์๋ --ephemeral ์ต์ ์ด ๋ถ์ฌ๋์ด ์์ต๋๋ค.
๋ํ ํ ํฐ์ 1์๊ฐ ๋ค์ ๋ง๋ฃ๋์ ์ฌ๋ฐ๊ธ์ ๋ฐ์์ผ ํ๋๋ฐ API ๋ฅผ ํตํด ์ด๋ ต์ง ์๊ฒ ์ป์ ์ ์์ต๋๋ค.
๋ค๋ง ๊ถํ์ ์ ์ํ์๊ธธ ๋ฐ๋๋๋ค. (๊ด๋ จ ๋ฌธ์๋ ์ฌ๊ธฐ ์ฐธ๊ณ )
$ curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/runners/registration-token
๊ทธ๋ผ ์ด์ ์์ ์ฝ๋ #Configure ์ ๋ช ์๋์ด ์๋ ๋ช ๋ น์ด๋ฅผ ์ฐจ๋ก๋๋ก ์คํํด์ค๋๋ค.
./config.sh ๋ฅผ ํตํด์ ์ฐ์ ์ธ์ฆ์ ํด์ค๋๋ค.
๋ค์์ ./svc.sh install ์ ํด์ค๋๋ค.
run.sh ๊ฐ ์๋ svc.sh ๋ฅผ ์คํํ๋ ์ด์ ๋ ๋จ์ํ ํ๋ก์ธ์ค๊ฐ ์๋ ๋ฐ๋ชฌ(์๋น์ค)๋ก ๋ฑ๋กํ๊ธฐ ์ํจ์ ๋๋ค.
๋ฐ๋ชฌ์ผ๋ก ๋ฑ๋กํ์ง ์๋ ๋ค๋ฉด, Mac ์ด ์ฌ๋ถํ ๋ ๊ฒฝ์ฐ ์๋์ผ๋ก ๋ค์ ์คํ์์ผ์ผ ํ๊ธฐ ๋๋ฌธ์ด์ฃ .
์ฑ๊ณต์ ์ผ๋ก ๋๋ค๋ฉด plist ๋ผ๋ ํ์ผ์ด ์์ฑ๋ ๊ฒ์ ๋๋ค.
๋ค์์ ./svc.sh start ์ ๋๋ค.
์ด ๋ถ๋ถ์ ๋ํด์๋ ์๋๋ ๋ถ๋ค์ด ์์๊ฑฐ์์.
(์ ๊ฐ์ ๊ฒฝ์ฐ Root ์ด ์๋ Runner ๋ผ๋ Mac ์ ์ ๋ฅผ ๋ง๋ค์๊ณ , Runner ์ ์ ๋ก ์คํํ๋๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค.)
๋คํํ ์๋ฌ ๊ด๋ จํด์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. (์ฌ๊ธฐ ์ฐธ๊ณ )
๋ค์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ๋ง์๋ฐ ์ ๋ ์ด ๋ฐฉ๋ฒ์ ํํ์ต๋๋ค.
./svc.sh start ๊ฐ ๋ฌธ์ ์์ด ์คํ๋๋ค๋ฉด, ์ด์ ./svc.sh status ๋ฅผ ํตํด ์ํ ํ์ธ์ ํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก๋ ๋ฑ๋ก์ด ์์ฃผ ์ ๋์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ๋ฌธ๋ ํ๊ฐ์ง ์๊ฐ์ด ๋ ์ฌ๋์ต๋๋ค.. ์ฐ๋ฆฌ๋ ์์์ Runner ๋ฅผ ๋ฐ๋ชฌ์ผ๋ก ๋ฑ๋กํ์ฃ .
๊ทธ ๋ง์ ์ฆ์จ, ํ๋์ ํธ์คํธ์ ์ฌ๋ฌ ๊ฐ์ Runner ๋ฑ๋ก์ด ๊ฐ๋ฅํ๋ค๋ ๋ง์ด์ฃ !
Runner ๋ฅผ ๊ตฌ๋ถ ์ง๋ ํด๋๋ฅผ 2๊ฐ ๋ ๋ง๋ ํ, ์ ๊ณผ์ ์ ๋ฐ๋ณตํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฑ๊ณต์ ์ผ๋ก 2๊ฐ ๋ ์ถ๊ฐ์ ์ธ Runner ๋ฅผ ๋ฑ๋กํ์ต๋๋ค!
์ค๋์ MacOS ์ Runner ๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ ์์๋ดค์ต๋๋ค.
ํ๋ฉด์ ๋๋ ์ ์ด ์๋ค๋ฉด, ARC ๊ฐ ํจ~~~~~์ฌ ํธํ๋ค ์์ต๋๋ค.
๊ทธ๋ผ ์ค๋์ ์ฌ๊ธฐ๊น์ง!
'DevOps > Github Action' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Github Action] ๋ด์ง๋ด๋ง - Setup Python Arm64 ์ก์ ๋ง๋ค๊ธฐ (ํํธ) (37) | 2024.06.05 |
---|---|
[Github Action] ๋ด์ง๋ด๋ง - Setup Python Arm64 ์ก์ ๋ง๋ค๊ธฐ (์ํธ) (37) | 2024.05.26 |
[Github Action] EKS, Karpenter ๊ทธ๋ฆฌ๊ณ Window Runner (7) | 2023.11.06 |
[Github Action] cmake ์ ์ผ๊ณฑ ํ์ด์ฌ (5) | 2023.10.06 |
[Github Action] ๋ cache ๋๊ฑฐ์ผ! - ccache ๋ฅผ ์ด์ฉํ c/c++ ๋น๋ (7) | 2023.10.05 |