generated from ttipo/project-base
b6abc3d118
CI / Backend (lint · test · e2e · build) (pull_request) Successful in 12m21s
CI / 에러 코드 SSOT 동기화 검사 (pull_request) Successful in 11m58s
CI (Flutter) / Flutter (analyze · test) (pull_request) Successful in 22m22s
CI / Frontend (lint · type-check · test) (pull_request) Successful in 11m22s
CI / Backend (lint · test · e2e · build) (push) Has been cancelled
CI / Frontend (lint · type-check · test) (push) Has been cancelled
CI / 에러 코드 SSOT 동기화 검사 (push) Has been cancelled
CI (Flutter) / Flutter (analyze · test) (push) Has been cancelled
프로젝트 이름을 지정하지 않으면 폴더 이름(ci)이 되어, 같은 PC 에서 다른 저장소의
ci/ 러너와 이름이 겹쳐 그 러너를 덮어쓸 수 있다(2026-11-04 arasystem 러너와 같은 PC 에서 확인).
compose 파일에 name: ${RUNNER_NAME} 을 두어 -p 없이도 겹치지 않게 하고, README 에 이름을 다르게 지으라고 적었다.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
1.6 KiB
YAML
31 lines
1.6 KiB
YAML
# Gitea Actions 러너 — CI 를 실제로 실행하는 주체
|
|
#
|
|
# 이 파일은 애플리케이션 스택(루트 docker-compose.yml)과 **생명주기가 다르다.**
|
|
# 앱은 개발할 때만 띄우지만 러너는 항상 켜져 있어야 CI 가 동작한다.
|
|
#
|
|
# 사용법은 ci/README.md 참조.
|
|
|
|
# compose 프로젝트 이름 — 지정하지 않으면 폴더 이름(ci)이 되어, 같은 PC 에서 다른 저장소의
|
|
# ci/ 러너와 이름이 겹쳐 그 러너를 덮어쓸 수 있다. 러너 이름을 그대로 쓴다.
|
|
name: ${RUNNER_NAME:-gitea-runner}
|
|
|
|
services:
|
|
runner:
|
|
image: gitea/act_runner:latest
|
|
container_name: ${RUNNER_NAME:-gitea-runner}
|
|
restart: always
|
|
environment:
|
|
GITEA_INSTANCE_URL: ${GITEA_INSTANCE_URL}
|
|
# ⚠️ 등록 토큰 — ci/.env 에만 두고 절대 커밋하지 않는다
|
|
GITEA_RUNNER_REGISTRATION_TOKEN: ${GITEA_RUNNER_REGISTRATION_TOKEN}
|
|
GITEA_RUNNER_NAME: ${RUNNER_NAME:-gitea-runner}
|
|
# ⚠️ 워크플로의 runs-on 과 일치해야 잡을 집는다.
|
|
# .github/workflows/ci.yml 은 모든 잡이 ubuntu-latest 다.
|
|
GITEA_RUNNER_LABELS: ${RUNNER_LABELS:-ubuntu-latest:docker://gitea/runner-images:ubuntu-latest}
|
|
volumes:
|
|
# 잡을 컨테이너로 띄우므로 도커 소켓이 필요하다.
|
|
# (Windows Docker Desktop 에서 Git Bash 를 쓰면 경로 변환 때문에 //var/run/... 로 적어야 할 수 있다)
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
# 등록 정보를 보존한다 — 지우면 토큰으로 재등록해야 한다
|
|
- ./runner-data:/data
|