docs(deploy): 添加 Gitea、Nexus 和 Woodpecker 部署文档

- 创建 Gitea 部署指南,包含镜像拉取、端口配置、启动和用户创建说明
- 添加 Nexus 详细部署文档,涵盖镜像拉取、端口配置、目录权限设置和仓库配置
- 配置 Nexus 三种仓库类型(proxy、hosted、group)的创建和使用方法
- 提供 Nexus Docker 客户端配置和拉取推送验证流程
- 新增 Woodpecker CI/CD 工具部署文档,包含服务器和代理配置说明
- 移除旧的 Nexus 权限设置脚本文件
This commit is contained in:
gxl 2026-06-05 16:18:01 +08:00
parent 8af1a70535
commit c05c295ce1
4 changed files with 260 additions and 4 deletions

View File

@ -0,0 +1,53 @@
# 部署步骤
## 拉取镜像
```shell
# 先拉镜像 防止一直卡着
docker pull gitea/gitea:1.21.7
```
## 开端口
两种方式
`ip+端口`
阿里云开启端口
`域名`
域名转发配置
申请域名-配置转发-申请证书-nginx配置
这里不赘述
参考文件
`nginx\conf\conf.d\gitea.lovestory.cyou.conf-https`
## 上传docker compose文件
```shell
rz docker-compose.yml
```
## 启动
```shell
docker compose up -d
```
## 创建用户
不设默认用户
第一个用户就是管理员
> 好像不能用 `admin` 是保留用户
## 创建钩子
系统的和用户的都行
注意保存秘钥
f1d20058-b8e7-4dee-861c-d772777e24bb
gto_ysiwdncq6qt6cqicbaneyz54ewfaiq2zwadnhkfnnsv5oltglt2a

View File

@ -0,0 +1,162 @@
# 部署文档
## 拉取镜像
```shell
# 先拉镜像 防止一直卡着
docker pull sonatype/nexus3:latest
```
## 上传docker compose文件
```shell
rz docker-compose.yml
```
## 开端口
nexus 有三个端口需要开
分别是管理端 8081 仓库端 8082 仓库代理 8083
两种方式
`ip+端口`
阿里云开启端口
`域名`
域名转发配置
申请域名-配置转发-申请证书-nginx配置
这里不赘述
参考文件
``` shell
nginx\conf\conf.d\push.lovestory.cyou.conf-http
nginx\conf\conf.d\push.lovestory.cyou.conf-https
nginx\conf\conf.d\registry.lovestory.cyou.conf-https
nginx\conf\conf.d\registry.lovestory.cyou-http
```
## 启动
```shell
docker compose up -d
```
### 启动nexus需要先给目录权限否则启动不了
```shell
mkdir nexus-data
chown -R 200:200 nexus-data
```
## 调整 Nexus 基础配置
在创建仓库前,建议先对 Nexus 进行两项基础设置,这会直接影响后续 Docker 客户端的正常使用。
1. 启用匿名拉取(推荐):为了允许团队成员无需登录即可拉取镜像,可以在左侧菜单 Security -> Anonymous 中勾选 Allow anonymous users to access the server保存使配置生效。
2. 启用 Docker Bearer Token Realm这是为了让 docker login 登录机制能正常运转。
登录后,在左侧菜单找到 Security -> Realms。
在右侧 Available 栏中找到 Docker Bearer Token Realm点击中间的 > 按钮,将其移到左侧 Active 栏中,最后点击 Save 保存。
下面我们按步骤来创建三个仓库。
### 1. 创建 proxy 仓库 (拉取镜像)
新建仓库:点击左侧菜单 Repositories -> Repositories然后点击右上角 Create repository类型选择 docker (proxy)。
填写配置:
Name填入 docker-proxy。
Remote storage填入 https://registry-1.docker.io (Docker Hub官方源)。如果需要加速,也可以替换为其他镜像源(如阿里云镜像加速地址 https://<your-id>.mirror.aliyuncs.com
Docker Index选择 Use Docker Hub。
> HTTP port(s) 这个不用填一般最后统一用group拉取
HTTP port(s):分配给此仓库的端口,例如 8082。注意此端口不能与Nexus自身端口或系统其他端口冲突。
Allow anonymous docker pull推荐勾选免登录拉取。
保存:点击 Create repository 完成创建。
### 2. 创建 hosted 仓库 (推送镜像)
新建仓库:同样在 Repositories 界面,点击 Create repository类型选择 docker (hosted)。
填写配置:
Name填入 docker-hosted。
HTTP port(s):分配给此仓库的端口,例如 8083。请确保该端口已开放且未被占用。
Allow anonymous docker pull根据需求选择是否允许匿名拉取通常托管仓库用于推送此项可不勾选。
Enable Docker V1 API默认不勾选。
Deployment policy选择 Allow redeploy 以允许覆盖推送相同标签的镜像。
保存:点击 Create repository 完成创建。
### 3. 创建 group 仓库 (统一入口)
为了方便使用,推荐创建一个 group 仓库将 proxy 和 hosted 组合起来,这样开发人员可以只用一个地址完成拉取和推送。
新建仓库:在 Repositories 界面,点击 Create repository类型选择 docker (group)。
填写配置:
Name填入 docker-group。
HTTP port(s):分配给此仓库的端口,例如 8082。
Member repositories在 Available 栏中,将刚才创建的 docker-hosted 和 docker-proxy 按顺序添加到 Members 栏中。注意hosted 应在 proxy 之上,以便优先使用本地镜像。
保存:点击 Create repository 完成创建。
### 4. 客户端配置与验证
在客户端使用 docker-group (统一入口) 的地址进行拉取和推送。
#### 准备工作:处理 HTTP 协议警告
如果 Nexus 的端口没有配置 HTTPSDocker 客户端默认会报错 server gave HTTP response to HTTPS client。需要修改 /etc/docker/daemon.json 文件如没有则新建将你的Nexus服务器IP和docker-group的端口例如 8084添加到 insecure-registries 列表中:
```json
{
"registry-mirrors": ["https://<your-mirror>"],
"insecure-registries": ["<your-nexus-ip>:8084"]
}
```
保存后,重启 Docker 服务使配置生效:
```bash
sudo systemctl daemon-reload
sudo systemctl restart docker
```
ai这么说 但是实际我操作完也拉不下来 docker 部署 是`DIND` 好像不吃这个配置
#### 拉取与推送验证
登录:首先登录你的 docker-group 仓库。系统会提示输入密码,你的 Nexus 密码即为 admin 用户的登录密码。
```bash
docker login <your-nexus-ip>:8082
```
拉取镜像 (测试 proxy 仓库):执行以下命令,镜像将从 proxy 仓库拉取并自动缓存。
```bash
docker pull <your-nexus-ip>:8084/library/nginx:latest
```
推送镜像 (测试 hosted 仓库):先给本地镜像打上标签,格式为 你的仓库地址/镜像名:标签。然后执行 docker push镜像将被推送到 hosted 仓库中。
```
bash
docker tag nginx:latest <your-nexus-ip>:8084/my-nginx:latest
docker push <your-nexus-ip>:8084/my-nginx:latest
```
验证配置:返回 Nexus 管理界面,在 Repositories 中分别查看 docker-proxy 和 docker-hosted 的 Browse 页面。如果 docker-proxy 中存在刚才拉取的 nginx 镜像,且 docker-hosted 中存在推送的 my-nginx 镜像,则代表配置完全成功。

View File

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

View File

@ -0,0 +1,45 @@
# 部署步骤
## 配置
先改配置
``` properties
# server
# 用户名
WOODPECKER_ADMIN=abhors
# 秘钥 随机生成就行固定位数 用于server agent通信用
WOODPECKER_AGENT_SECRET=2f26c6a0e97e00c65a9e89fc39a95be532c19cb600c53fa555eada297c3569cb
# 是否启用gitea
WOODPECKER_GITEA=true
# gitea地址
WOODPECKER_GITEA_URL=https://gitea.lovestory.cyou
# 上一步 创建gitea的应用的秘钥
# gitea client
WOODPECKER_GITEA_CLIENT=718dc249-2edc-4edd-8bc9-06ba569c2007
# gitea secret
WOODPECKER_GITEA_SECRET=gto_zovinkqbrekitnhoiez5376dhzkccvz7253ndyaxqjq2gcb2okdq
```
```properties
# agent
# 一定要加白名单 否则会因为宿主机权限问题 无法拉取镜像
WOODPECKER_PLUGINS_PRIVILEGED=*,plugins/docker,docker.io/plugins/docker,plugins/docker:latest
```
# 启动
```shell
# 直接启动就行
docker compose up -d
# 如果要重新部署 记得清空卷数据 否则之前的数据可能会影响 之前的部署记录 登录等
#volumes:
# woodpecker-server-data:
# woodpecker-agent-config:
docker volumes rm woodpecker-server-data woodpecker-agent-config
```