From 7727e3f10edc111b4a2830a92dab6976e3368d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Mon, 3 Aug 2026 14:26:23 +0800 Subject: [PATCH] =?UTF-8?q?gitea=EF=BC=8Cgitea-runner=E5=86=99=E5=85=A5doc?= =?UTF-8?q?ker-compose?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose-infra-main.yml | 20 +++++++++++++++++++- gitea-runner/Dockerfile | 6 ++++++ 服务器运维.txt | 20 ++++++++++++++++++-- 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 gitea-runner/Dockerfile diff --git a/docker-compose-infra-main.yml b/docker-compose-infra-main.yml index c8f7851..b06dfa1 100644 --- a/docker-compose-infra-main.yml +++ b/docker-compose-infra-main.yml @@ -192,7 +192,10 @@ services: # k3s 在 121.37.117.181,经宿主机 systemd 服务 k3s-ssh-tunnel.service # (ssh -L 16443:127.0.0.1:6443) 隧道访问,故 runner 必须与隧道同网络命名空间 gitea-runner: - image: gitea/act_runner:0.6.1 + build: + context: ./gitea-runner + dockerfile: Dockerfile + image: redfuture-runner:latest container_name: gitea-runner restart: unless-stopped network_mode: host @@ -211,12 +214,27 @@ services: - /data/gitea-runner/bin/kubectl:/usr/local/bin/kubectl - /data/gitea-runner/bin/docker:/usr/local/bin/docker - /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: test: ["CMD-SHELL", "test -f /data/.runner"] interval: 30s timeout: 5s 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: build: diff --git a/gitea-runner/Dockerfile b/gitea-runner/Dockerfile new file mode 100644 index 0000000..12dcf49 --- /dev/null +++ b/gitea-runner/Dockerfile @@ -0,0 +1,6 @@ +# gitea-runner 自定义镜像:基础 act_runner + nodejs(checkout action 需要) +FROM gitea/act_runner:0.6.1 + +# 国内源安装 nodejs(actions/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 diff --git a/服务器运维.txt b/服务器运维.txt index 5aadd40..c493463 100644 --- a/服务器运维.txt +++ b/服务器运维.txt @@ -20,5 +20,21 @@ docker info | grep -A 5 "Registry Mirrors" //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 -// 网络:network_mode host(kubectl 经宿主机 systemd 隧道 k3s-ssh-tunnel.service 访问 k3s:121.37.117.181) -// 注意:标签用 GITEA_RUNNER_LABELS="ubuntu-latest:host"(TAGS 无效);改标签需删 /data/gitea-runner/.runner 重新注册 \ No newline at end of file +// 网络:network_mode host(kubectl 经宿主机 systemd 隧道 k3s-ssh-tunnel.service 访问 181 k3s) +// 注意:标签用 GITEA_RUNNER_LABELS="ubuntu-latest:host"(TAGS 无效);改标签需删 /data/gitea-runner/.runner 重新注册 +// 镜像:自定义 redfuture-runner:latest(deploy/gitea-runner/Dockerfile,含 nodejs——checkout@v4 是 node action,无 node 报 Cannot find: node in PATH) + +//dev 本地 k3s(2026-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.yaml(daocloud 加速 + 127.0.0.1:5000 mirror),渲染到 containerd certs.d +// kubeconfig:/etc/rancher/k3s/k3s.yaml(127.0.0.1:6443),runner 容器挂载为 /root/.kube/k3s-dev.yaml(与 181 集群 16443 区分) +// 卸载:/usr/local/bin/k3s-uninstall.sh + +//本地镜像仓库(CI 构建产物中转,compose 管理,勿手动 docker run) +// 服务名 registry,127.0.0.1:5000(仅本机),数据 /data/registry;runner 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.169;worker ecs-5ae0-0001 192.168.0.196) +// 与 dev 的 192.168.0.x 是两个不同 VPC(同名网段互不可达),dev 无法加入该集群;公网 6443 未放行 +// SSH:ssh -i deploy/ssh/key-hw.pem root@121.37.117.181(KeyPair-test.pem 连不上 181) +// 集群无业务负载,系统 pod 全 ImagePullBackOff(未配镜像加速) \ No newline at end of file