From 656e21ad9e877bc6e403c949c6710250babfb87f Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 14 Jul 2025 17:57:50 +0900 Subject: [PATCH] Add Gitea Actions self-hosted runner troubleshooting guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Document runner setup and configuration process - Cover nginx config validation fixes - Include permission and label matching issues - Provide monitoring and debugging commands ๐Ÿค– Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../20250714_gitea_actions_setup.md | 197 ++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 docs/troubleshooting/20250714_gitea_actions_setup.md diff --git a/docs/troubleshooting/20250714_gitea_actions_setup.md b/docs/troubleshooting/20250714_gitea_actions_setup.md new file mode 100644 index 0000000..3ce4198 --- /dev/null +++ b/docs/troubleshooting/20250714_gitea_actions_setup.md @@ -0,0 +1,197 @@ +# Gitea Actions ์„ค์ • ๋ฐ Self-hosted Runner ๊ตฌ์„ฑ ๊ฐ€์ด๋“œ + +**๋‚ ์งœ**: 2025-07-14 +**์ž‘์—…์ž**: Claude (RO-BEING ์‹œ์Šคํ…œ ๊ด€๋ฆฌ) + +## ๊ฐœ์š” + +nginx-infra ์ €์žฅ์†Œ์—์„œ Gitea Actions ์ž๋™ ๋ฐฐํฌ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋“ค๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. + +## ๋ฌธ์ œ ์ƒํ™ฉ + +### ์ดˆ๊ธฐ ๋ฌธ์ œ: Runner ์‹คํ–‰ ํ™˜๊ฒฝ ๋ถˆ์ผ์น˜ + +**์ฆ์ƒ**: Gitea Actions ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ๋Œ€๊ธฐ ์ƒํƒœ(waiting)์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•จ + +**์›์ธ**: +- ์›Œํฌํ”Œ๋กœ์šฐ: `runs-on: ubuntu-latest` (์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ) +- ์‹ค์ œ ์ž‘์—…: ๋กœ์ปฌ ์‹œ์Šคํ…œ `/etc/nginx` ์ง์ ‘ ์ ‘๊ทผ ์‹œ๋„ +- โ†’ ์ปจํ…Œ์ด๋„ˆ์—์„œ๋Š” ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ํŒŒ์ผ์— ์ ‘๊ทผ ๋ถˆ๊ฐ€ + +## ํ•ด๊ฒฐ ๊ณผ์ • + +### 1๋‹จ๊ณ„: Self-hosted Runner ์„ค์น˜ ํ™•์ธ + +```bash +# act_runner ์„ค์น˜ ์ƒํƒœ ํ™•์ธ +which act_runner +# /usr/local/bin/act_runner + +act_runner --version +# act_runner version v0.2.6 +``` + +**๊ฒฐ๊ณผ**: ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์—ˆ์Œ + +### 2๋‹จ๊ณ„: Runner ๋“ฑ๋ก ํ† ํฐ ์ƒ์„ฑ + +Gitea ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ: +1. Site Administration โ†’ Actions โ†’ Runners +2. "Create new Runner" ํด๋ฆญ +3. ๋“ฑ๋ก ํ† ํฐ ์ƒ์„ฑ: `j0JCOcmeK02Khp4uIROhj8enbACwqUVuhMjxn7FI` + +### 3๋‹จ๊ณ„: Runner ๋“ฑ๋ก (์ž˜๋ชป๋œ ๋ผ๋ฒจ) + +**์ฒซ ๋ฒˆ์งธ ์‹œ๋„**: +```bash +act_runner register --no-interactive \ + --instance http://localhost:3000 \ + --token j0JCOcmeK02Khp4uIROhj8enbACwqUVuhMjxn7FI \ + --name admin-runner \ + --labels ubuntu-latest +``` + +**๋ฌธ์ œ**: ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ `self-hosted`๋ฅผ ์š”๊ตฌํ•˜๋Š”๋ฐ `ubuntu-latest` ๋ผ๋ฒจ๋กœ ๋“ฑ๋ก + +### 4๋‹จ๊ณ„: ๋ผ๋ฒจ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ ํ•ด๊ฒฐ + +**์›์ธ**: +- ์›Œํฌํ”Œ๋กœ์šฐ: `runs-on: self-hosted` +- Runner ๋ผ๋ฒจ: `ubuntu-latest` +- โ†’ ๋งค์นญ๋˜์ง€ ์•Š์•„ ์ž‘์—… ํ• ๋‹น ์•ˆ๋จ + +**ํ•ด๊ฒฐ์ฑ…**: Runner๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ๋ผ๋ฒจ๋กœ ์žฌ๋“ฑ๋ก + +```bash +# ๊ธฐ์กด runner ์ข…๋ฃŒ +killall act_runner + +# ์„ค์ • ํŒŒ์ผ ์‚ญ์ œ +rm -f .runner + +# ๋Œ€ํ™”ํ˜•์œผ๋กœ ์žฌ๋“ฑ๋ก +act_runner register +# URL: http://localhost:3000 +# Token: j0JCOcmeK02Khp4uIROhj8enbACwqUVuhMjxn7FI +# Name: admin-runner +# Labels: self-hosted # ์ค‘์š”! +``` + +### 5๋‹จ๊ณ„: Runner ์‹คํ–‰ + +```bash +# /etc/act_runner ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์‹คํ–‰ +cd /etc/act_runner +nohup act_runner daemon --config .runner > ~/act_runner.log 2>&1 & +``` + +**ํ•ต์‹ฌ**: admin ๊ณ„์ •์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ sudo NOPASSWD ๊ถŒํ•œ ํ™œ์šฉ + +### 6๋‹จ๊ณ„: ์›Œํฌํ”Œ๋กœ์šฐ nginx ์„ค์ • ๊ฒ€์ฆ ์˜ค๋ฅ˜ ์ˆ˜์ • + +**๋ฌธ์ œ**: nginx ์„ค์ • ๊ฒ€์ฆ ๋‹จ๊ณ„์—์„œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ +``` +nginx: [emerg] "server" directive is not allowed here in /tmp/nginx-test-config:21 +``` + +**์›์ธ**: `-c` ์˜ต์…˜์œผ๋กœ site ์„ค์ • ํŒŒ์ผ์„ ์ „์ฒด nginx.conf๋กœ ๊ฒ€์ฆ ์‹œ๋„ + +**ํ•ด๊ฒฐ์ฑ…**: ์ž„์‹œ ๊ต์ฒด ๋ฐฉ์‹์œผ๋กœ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ + +```yaml +# ๋ณ€๊ฒฝ ์ „ +sudo nginx -t -c /tmp/nginx-test-config + +# ๋ณ€๊ฒฝ ํ›„ +sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.temp.backup +sudo cp server-nginx-default /etc/nginx/sites-available/default +sudo nginx -t || { + sudo cp /etc/nginx/sites-available/default.temp.backup /etc/nginx/sites-available/default + exit 1 +} +sudo cp /etc/nginx/sites-available/default.temp.backup /etc/nginx/sites-available/default +``` + +## ์ตœ์ข… ๊ตฌ์„ฑ + +### ์›Œํฌํ”Œ๋กœ์šฐ ์„ค์ • +```yaml +jobs: + deploy: + runs-on: self-hosted # Self-hosted runner ์‚ฌ์šฉ +``` + +### Runner ์ƒํƒœ +```bash +# Runner ํ”„๋กœ์„ธ์Šค ํ™•์ธ +ps aux | grep act_runner +# admin 429705 0.1 0.0 1243692 18304 pts/4 Sl 17:52 0:00 act_runner daemon + +# Nginx ์„œ๋น„์Šค ์ƒํƒœ +sudo systemctl status nginx +# Active: active (running) + +# Nginx ์„ค์ • ๊ฒ€์ฆ +sudo nginx -t +# nginx: configuration file /etc/nginx/nginx.conf test is successful +``` + +## ๊ถŒํ•œ ์„ค์ • ํ™•์ธ + +### admin ๊ณ„์ • sudo ๊ถŒํ•œ +```bash +sudo -l +# (ALL) NOPASSWD: ALL +# (ALL) NOPASSWD: /usr/sbin/nginx, /bin/systemctl * nginx, /bin/cp * /etc/nginx/sites-available/default +``` + +**๊ฒฐ๊ณผ**: admin ๊ณ„์ •์ด ํŒจ์Šค์›Œ๋“œ ์—†์ด nginx ๊ด€๋ จ sudo ๋ช…๋ น ์‹คํ–‰ ๊ฐ€๋Šฅ + +## ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… + +### ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋“ค + +**๋ฌธ์ œ**: Gitea Actions๊ฐ€ waiting ์ƒํƒœ์—์„œ ๋ฉˆ์ถค +**ํ•ด๊ฒฐ**: Runner ๋ผ๋ฒจ๊ณผ ์›Œํฌํ”Œ๋กœ์šฐ `runs-on` ์„ค์ • ์ผ์น˜ ํ™•์ธ + +**๋ฌธ์ œ**: nginx ์„ค์ • ๊ฒ€์ฆ ์‹คํŒจ (`server` directive error) +**ํ•ด๊ฒฐ**: ์ „์ฒด nginx.conf ์ปจํ…์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋„๋ก ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ + +**๋ฌธ์ œ**: sudo ๊ถŒํ•œ ์—†์Œ ์˜ค๋ฅ˜ +**ํ•ด๊ฒฐ**: admin ๊ณ„์ •์œผ๋กœ runner ์‹คํ–‰ ๋ฐ NOPASSWD ์„ค์ • ํ™•์ธ + +**๋ฌธ์ œ**: ํŒŒ์ผ ๊ถŒํ•œ ์˜ค๋ฅ˜ (`Permission denied`) +**ํ•ด๊ฒฐ**: ๋กœ๊ทธ ํŒŒ์ผ์„ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ(`~/`)์— ์ €์žฅ + +### ๊ถŒ์žฅ ์„ค์ • + +1. **Runner ๋“ฑ๋ก ์‹œ ์ฃผ์˜์‚ฌํ•ญ**: + - ๋ผ๋ฒจ์„ `self-hosted`๋กœ ์ •ํ™•ํžˆ ์„ค์ • + - admin ๊ณ„์ •์—์„œ ๋“ฑ๋ก ๋ฐ ์‹คํ–‰ + +2. **๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ**: + - Runner ์„ค์ •: `/etc/act_runner/.runner` + - ๋กœ๊ทธ ํŒŒ์ผ: `~/act_runner.log` + +3. **๋ชจ๋‹ˆํ„ฐ๋ง ๋ช…๋ น์–ด**: + ```bash + # Runner ์ƒํƒœ ํ™•์ธ + ps aux | grep act_runner + + # ๋กœ๊ทธ ์‹ค์‹œ๊ฐ„ ํ™•์ธ + tail -f ~/act_runner.log + + # nginx ์ƒํƒœ ํ™•์ธ + sudo systemctl status nginx + sudo nginx -t + ``` + +## ์ฐธ๊ณ  ์ž๋ฃŒ + +- **Gitea Actions ๋ฌธ์„œ**: https://docs.gitea.io/en-us/actions/ +- **act_runner GitHub**: https://github.com/nektos/act_runner +- **Nginx ์„ค์ •**: `/etc/nginx/sites-available/default` +- **์›Œํฌํ”Œ๋กœ์šฐ ํŒŒ์ผ**: `.gitea/workflows/deploy.yml` + +--- +*์ด ๋ฌธ์„œ๋Š” Claude์— ์˜ํ•ด ์ž๋™ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.* \ No newline at end of file