7. μλ² μλ λ°°ν¬ (2) μλ²μ μλ λ°°ν¬λ₯Ό μν runner μ€μΉ
π΄ μμ κΈμμ μμ±ν github actionκ³Ό μ°λλμ΄μ§λ runnerλ₯Ό μλ²μ μ€μΉνλ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
1. github ννμ΄μ§μμμ μμ
κ°. λ¨Όμ , githubμ νμ¬ μμ repository μμ Settings - Actions - Runners λ₯Ό μ νν΄ μ€ ν, New self-hosted runner λ²νΌμ λλ¬μ€λλ€.
λ. νμ¬ μ€λͺ νλ μλ²λ Ubuntu 리λ μ€ μλ²μ΄λ―λ‘ Create self-hosted runner μ°½μμ Linuxλ₯Ό μ νν΄ μ€λλ€.

β μ΄μ μμ μλ λΉ¨κ° μ μ μ μλ λ΄μ©λ€μ νλμ© μλ²μμ μ€νν΄ μ£Όμ΄μΌ ν©λλ€. κ·Έλ¬λ, μ github μ°½κ³Ό μλ² ssh μ μμ°½μ κ°μ΄ μ΄μ΄λμκ³ μμ νλ©΄ νΈν κ²μ λλ€.
2. μλ²μμμ μμ
π΄π΄ μλμ λͺ¨λ μμ μ λ°λμ μ¬μ©μ κΆνμΌλ‘ μμ νμκΈ° λ°λλλ€.
κ°. μ λͺ λ Ήμ μ€ννκΈ° μ μ, μλ²μμ μμ ν ν΄λλ₯Ό μμ±ν κ²μ λλ€. μ λ '/home/(λ³ΈμΈμκ³μ μ΄λ¦)' λ°μ www λΌλ λλ ν 리λ₯Ό λ§λ ν κ·Έ μμμ μμ μ ν κ²μ λλ€. (μλ μμμ κ²½μ° νμ¬μ λλ ν 리λ /home/mungkhs μ λλ€.)
mkdir www && cd www
λ. μ΄μ github ννμ΄μ§μ μλ Download λΆλΆμ λͺ λ Ήμ€μ νλμ© μ λ ₯ν΄ μ€λλ€.
β μ ν΄λΉ λͺ λ Ήμ€μ ν΄λ¦νλ©΄ μ μ λ‘ λ³΅μ¬κ° λ©λλ€.
β μ λͺ λ Ή μ€ μΈλ²μ§Έ Optional : Validate the hash λΆλΆμ echo ~~ λͺ λ Ήμ μ λ ₯νμ§ μμλ λ©λλ€.
mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64-2.298.2.tar.gz -L https://github.com/actions/runner/releases/download/v2.298.2/actions-runner-linux-x64-2.298.2.tar.gz
tar xzf ./actions-runner-linux-x64-2.298.2.tar.gz
λ€. githubμ Configure λΆλΆμ μλ λ΄μ©μ μ°Έκ³ νλ©° μ λ ₯ν΄ μ£Όμ΄μΌ ν©λλ€.
π΄ μ 첫λ²μ§Έ λͺ λ Ήμ΄ μ€ λ§¨ λ€ --token λΆλΆμ νμ¬ repositoryμ μ°κ²°λ κ³ μ ν€μ λλ€.
π΄ λλ²μ§Έ λͺ λ Ή ./run.shμ λ€λ₯΄κ² μ λ ₯ν΄ μ£Όμ΄μΌ ν©λλ€.
λΌ. μλ μ½λλ₯Ό githubμμ 볡μ¬νμ¬ μλ²μ μ λ ₯ν©λλ€. κ·ΈλΌ μλμ κ°μ νλ©΄μ΄ λ³΄μΌ κ²μ λλ€. μ°μ 3κ°μ§λ₯Ό λ¬Όμ΄λ³΄λλ° νμ¬λ κ·Έλ₯ 3κ°μ§ λͺ¨λ Enterλ₯Ό μ³μ κΈ°λ³Έκ°μΌλ‘ λμ΄κ°λλ‘ νκ² μ΅λλ€.
λ§. λ§μ§λ§ work folderλ₯Ό μ λ ₯νλΌκ³ ν©λλ€. κΈ°λ³ΈμΌλ‘ Enter λ₯Ό κ·Έλ₯ μΉλ©΄ λμ€μ λ΄κ° μ¬λ¦° μμ€κ°
/home/λ΄κ³μ /www/action-runner/_work λλ ν 리 λ°μΌλ‘ μ μ₯μ΄ λ©λλ€.
κ·Έλμ μ κ°μ κ²½μ°λ /home/mungkhs/www λΌκ³ μ λ ₯νμ¬ μ€λλ€.
λ°. μ΄μ λ§μ§λ§μΌλ‘ runnerλ₯Ό μ€νμμΌ μ£Όμ΄μΌ ν©λλ€. κ·Έλ¬κΈ° μν΄ githubμμμ λ§μ§λ§ λͺ λ Ήμ΄μΈ ./run.sh λ₯Ό μ λ ₯ν΄λ μλμ΄ λμ§λ§, μ΄λ΄ κ²½μ° sshμ°½μμ λ‘κ·Έμμ ν κ²½μ° runnerλ μ€μ§κ° λλ²λ¦½λλ€.
λ°λΌμ, μλμ κ°μ΄ μ λ ₯μ ν΄μ£Όλλ‘ ν©λλ€.
sudo ./svc.sh install #λΆν
μ μλ μ€ν
sudo ./svc.sh start #runner μ€ν
μ¬. μ΄μ μλ²μ μ€μΉν Runnerκ° μλ μ€μΌ κ²½μ°, githubμ Runners μ°½μ μλμ κ°μ΄ λμ¬ κ²μ λλ€. μ΄ν λ‘컬μμ μμ€λ₯Ό μμ ν νμ pushλ₯Ό νλ©΄ githubμ μ¬λΌκ°λ μ¦μ μλ²λ‘λ μλμΌλ‘ μ μ‘μ΄ λ κ²μ λλ€.
π΄ λ€μ κ²μκΈμμλ μ€μ μμ€ μμ ν μλ²κΉμ§ λ°λ‘ λ°°ν¬λλ κ²μ νμΈν κ²μ΄λ©°, λ°°ν¬μ λ컀 컨ν μ΄λλ μλ μμ±μ΄ λλλ‘ κ΅¬νμ ν΄ λ³Ό κ²μ λλ€.
3. runner μμ λ°©λ²
κ°. μλ Runners μ°½μμ λΉ¨κ°μ λΆλΆμ λλ¬μ€λλ€.
λ. μλ λΉ¨κ° λΆλΆμ λ³΅μ¬ ν μλ²μ μ λ ₯νμ¬ μ€νν©λλ€. λ¨, μλ²μ /home/λ³ΈμΈκ³μ /www/actions-runner λλ ν 리 μμμ μ€νμ ν΄μΌ ν©λλ€.
λ§μ½, μμ κ°μ΄ νλλ°, μλμ κ°μ΄ μμ μ€ν¨κ° λμ€λ κ²½μ°μλ λ¨Όμ sudo ./svc.sh uninstall λ₯Ό μ€ννμΈμ.
πΊπΊ μμ ν λͺ¨λ μμ€λ μλ λ§ν¬μμ νμΈνμ€ μ μμ΅λλ€. πΊπΊ
https://github.com/mmssem/progstudy
GitHub - mmssem/progstudy
Contribute to mmssem/progstudy development by creating an account on GitHub.
github.com
πΊ λͺ©μ°¨ πΊ(보μλ €λ©΄ μλ λ보기 λ₯Ό λλ¬μ£ΌμΈμ.)
1. Dockerλ₯Ό μ¬λνκ² λ μ΄μ (Docker+Nginx_proxy+SSL+Github action)
2. Docker μ€μΉ (Docker+Nginx_proxy+SSL+Github action)
3. MobaXterm (Docker+Nginx_proxy+SSL+Github action)
5. λ‘컬μ nginx(μΉμλ²) μ€μΉν΄λ³΄κΈ° (Docker+Nginx_proxy+SSL+Github action)
6. μλ² μλ λ°°ν¬ (1) λ‘컬 => github (Docker+Nginx_proxy+SSL+Github action)
7. μλ² μλ λ°°ν¬ (2) μλ²μ μλ λ°°ν¬λ₯Ό μν runner μ€μΉ
8. μλ² μλ λ°°ν¬ (3) λ‘컬 μμ€ -> git push -> github -> μλ² μλ λ°°ν¬ νμΈ
9. (tip) git Add, Commit, push νλ²μ νκΈ°
10. μλ² μλ λ°°ν¬ (4) λ°°ν¬μ μλ²μμ docker-compose.yml μλ μ€ν
11. μλ²μ vnstat μ€μΉ (docker-compose.yml μ΄μ©)
12. μλ²μ λ컀 μ€μΉμ network μ€μ λ³κ²½ μ¬ν νμΈνκΈ°
13. nginx + php + mysql + phpmyadmin μ€μΉνκΈ°
14. Nginx - Reverse Proxy, Load Balancing κΈ°λ₯ νμ©
15. λ‘컬μμ μμ΄νΌ λμ λλ©μΈλͺ μ¬μ©νκΈ°(hosts μμ )
16. httpsλ₯Ό μ°κΈ° μν΄ λ‘컬μμ SSL ν μ€νΈ νκΈ° (with mkcert)
17. μλ²μ SSL μ μ©νκΈ° (docker + Let's Encrypt + wildcard μΈμ¦μ + Cloudflare)
18. μμΌλμΉ΄λ μΈμ¦μ μλ κ°±μ (docker + Let's Encrypt + wildcard μΈμ¦μ + crontab)