gitea,gitea-runner写入docker-compose

This commit is contained in:
2026-08-03 14:26:23 +08:00
parent 907819d116
commit 7727e3f10e
3 changed files with 43 additions and 3 deletions
+19 -1
View File
@@ -192,7 +192,10 @@ services:
# k3s 在 121.37.117.181,经宿主机 systemd 服务 k3s-ssh-tunnel.service # k3s 在 121.37.117.181,经宿主机 systemd 服务 k3s-ssh-tunnel.service
# (ssh -L 16443:127.0.0.1:6443) 隧道访问,故 runner 必须与隧道同网络命名空间 # (ssh -L 16443:127.0.0.1:6443) 隧道访问,故 runner 必须与隧道同网络命名空间
gitea-runner: gitea-runner:
image: gitea/act_runner:0.6.1 build:
context: ./gitea-runner
dockerfile: Dockerfile
image: redfuture-runner:latest
container_name: gitea-runner container_name: gitea-runner
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
@@ -211,12 +214,27 @@ services:
- /data/gitea-runner/bin/kubectl:/usr/local/bin/kubectl - /data/gitea-runner/bin/kubectl:/usr/local/bin/kubectl
- /data/gitea-runner/bin/docker:/usr/local/bin/docker - /data/gitea-runner/bin/docker:/usr/local/bin/docker
- /data/gitea-runner/.kube/config:/root/.kube/config - /data/gitea-runner/.kube/config:/root/.kube/config
# dev 宿主机本地 k3s (127.0.0.1:6443),与 181 集群(16443)分开
- /etc/rancher/k3s/k3s.yaml:/root/.kube/k3s-dev.yaml
healthcheck: healthcheck:
test: ["CMD-SHELL", "test -f /data/.runner"] test: ["CMD-SHELL", "test -f /data/.runner"]
interval: 30s interval: 30s
timeout: 5s timeout: 5s
retries: 5 retries: 5
# ---- 本地镜像仓库 (CI 构建产物中转,k3s containerd 拉取) ----
# 仅绑定 127.0.0.1,供本机 runner push / k3s containerd pull
registry:
image: docker.m.daocloud.io/registry:2
container_name: registry
restart: unless-stopped
ports:
- "127.0.0.1:5000:5000"
volumes:
- /data/registry:/var/lib/registry
networks:
- redfuture-net
# ---- Nginx 反向代理 ---- # ---- Nginx 反向代理 ----
nginx: nginx:
build: build:
+6
View File
@@ -0,0 +1,6 @@
# gitea-runner 自定义镜像:基础 act_runner + nodejscheckout action 需要)
FROM gitea/act_runner:0.6.1
# 国内源安装 nodejsactions/checkout@v4 是 node action,容器内无 node 会报 Cannot find: node in PATH
RUN sed -i 's|dl-cdn.alpinelinux.org|mirrors.aliyun.com|g' /etc/apk/repositories \
&& apk add --no-cache nodejs npm git
+17 -1
View File
@@ -20,5 +20,21 @@ docker info | grep -A 5 "Registry Mirrors"
//gitea-runner(已由 docker-compose-infra-main.yml 管理,host 标签,勿手动 docker run //gitea-runner(已由 docker-compose-infra-main.yml 管理,host 标签,勿手动 docker run
// 启动:DOCKER_HOST=ssh://root@116.204.74.41 docker compose -f deploy/docker-compose-infra-main.yml up -d gitea-runner // 启动:DOCKER_HOST=ssh://root@116.204.74.41 docker compose -f deploy/docker-compose-infra-main.yml up -d gitea-runner
// 网络:network_mode hostkubectl 经宿主机 systemd 隧道 k3s-ssh-tunnel.service 访问 k3s:121.37.117.181 // 网络:network_mode hostkubectl 经宿主机 systemd 隧道 k3s-ssh-tunnel.service 访问 181 k3s
// 注意:标签用 GITEA_RUNNER_LABELS="ubuntu-latest:host"TAGS 无效);改标签需删 /data/gitea-runner/.runner 重新注册 // 注意:标签用 GITEA_RUNNER_LABELS="ubuntu-latest:host"TAGS 无效);改标签需删 /data/gitea-runner/.runner 重新注册
// 镜像:自定义 redfuture-runner:latestdeploy/gitea-runner/Dockerfile,含 nodejs——checkout@v4 是 node action,无 node 报 Cannot find: node in PATH
//dev 本地 k3s2026-08-03 装,单节点,ai-agent 等 dev 服务部署于此)
// 安装:curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --node-ip=192.168.0.83 --disable traefik --disable servicelb --write-kubeconfig-mode 644
// 配置:/etc/rancher/k3s/registries.yamldaocloud 加速 + 127.0.0.1:5000 mirror),渲染到 containerd certs.d
// kubeconfig/etc/rancher/k3s/k3s.yaml127.0.0.1:6443),runner 容器挂载为 /root/.kube/k3s-dev.yaml(与 181 集群 16443 区分)
// 卸载:/usr/local/bin/k3s-uninstall.sh
//本地镜像仓库(CI 构建产物中转,compose 管理,勿手动 docker run
// 服务名 registry127.0.0.1:5000(仅本机),数据 /data/registryrunner docker push + k3s containerd 拉取
// curl 验证:curl http://127.0.0.1:5000/v2/ai-agent/tags/list
//181 k3s 集群(121.37.117.181 = ecs-5ae0-0002 control-plane, 内网 192.168.0.169worker ecs-5ae0-0001 192.168.0.196
// 与 dev 的 192.168.0.x 是两个不同 VPC(同名网段互不可达),dev 无法加入该集群;公网 6443 未放行
// SSHssh -i deploy/ssh/key-hw.pem root@121.37.117.181KeyPair-test.pem 连不上 181
// 集群无业务负载,系统 pod 全 ImagePullBackOff(未配镜像加速)