feat(infra): 配置 Woodpecker CI 和 Gitea 的 HTTPS 代理及 Nexus 初始化脚本

- 添加 Nexus 数据目录初始化脚本并设置正确的用户权限
- 配置 Woodpecker 与 Gitea 集成的 HTTPS 代理服务器
- 设置 Gitea 和 Woodpecker 的 SSL 证书和反向代理规则
- 更新 Woodpecker 配置以支持 HTTPS 并移除过时的 Gitea 认证信息
This commit is contained in:
gxl 2026-06-05 15:29:26 +08:00
parent 41ea20c7d7
commit 8af1a70535
4 changed files with 41 additions and 6 deletions

View File

@ -0,0 +1,4 @@
#!/bin/bash
# 启动nexus需要先给目录权限否则启动不了
mkdir nexus-data
chown -R 200:200 nexus-data

View File

@ -17,15 +17,10 @@ services:
# - WOODPECKER_GITHUB_SECRET=2157f7be71f2a6c91d6a859c622a29b1e1af3951 # - WOODPECKER_GITHUB_SECRET=2157f7be71f2a6c91d6a859c622a29b1e1af3951
- WOODPECKER_GITEA=true - WOODPECKER_GITEA=true
- WOODPECKER_GITEA_URL=http://gitea.lovestory.cyou - WOODPECKER_GITEA_URL=https://gitea.lovestory.cyou
- WOODPECKER_GITEA_CLIENT=718dc249-2edc-4edd-8bc9-06ba569c2007 - WOODPECKER_GITEA_CLIENT=718dc249-2edc-4edd-8bc9-06ba569c2007
- WOODPECKER_GITEA_SECRET=gto_zovinkqbrekitnhoiez5376dhzkccvz7253ndyaxqjq2gcb2okdq - WOODPECKER_GITEA_SECRET=gto_zovinkqbrekitnhoiez5376dhzkccvz7253ndyaxqjq2gcb2okdq
# 👇 关键:特权插件白名单环境变量必须配置在 Agent 端,而不是 Server 端
- WOODPECKER_PLUGINS_PRIVILEGED=*,plugins/docker,docker.io/plugins/docker,plugins/docker:latest,docker.m.daocloud.io/appleboy/drone-docker-compose
woodpecker-agent: woodpecker-agent:
image: woodpeckerci/woodpecker-agent:v3 image: woodpeckerci/woodpecker-agent:v3
# v3 版本中,通常不需要显式写 command: agent镜像默认就是 agent 运行 # v3 版本中,通常不需要显式写 command: agent镜像默认就是 agent 运行

View File

@ -0,0 +1,18 @@
server {
listen 443 ssl;
server_name gitea.lovestory.cyou;
ssl_certificate /etc/nginx/cert/gitea.lovestory.cyou.pem;
ssl_certificate_key /etc/nginx/cert/gitea.lovestory.cyou.key;
client_max_body_size 0;
chunked_transfer_encoding on;
location / {
proxy_pass http://172.29.114.102:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

View File

@ -0,0 +1,18 @@
server {
listen 443 ssl;
server_name woodpecker.lovestory.cyou;
ssl_certificate /etc/nginx/cert/woodpecker.lovestory.cyou.pem;
ssl_certificate_key /etc/nginx/cert/woodpecker.lovestory.cyou.key;
client_max_body_size 0;
chunked_transfer_encoding on;
location / {
proxy_pass http://172.29.114.102:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}