赞
踩
CREATE DATABASE gitea;
docker pull gitea/gitea:latest
docker run --name gitea -d -p 32675:3000 -v /usr/local/word/gitea/data:/var/lib/gitea -v /usr/local/word/gitea/config:/etc/gitea -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro gitea/gitea:latest
docker run
:运行一个新的容器。
--name gitea
:为容器指定一个名称,这里是gitea。
-d
:以后台模式运行容器。
-p 32675:3000
:将容器的3000端口映射到宿主机的32675端口。
-v /usr/local/word/gitea/data:/var/lib/gitea
:将宿主机的/usr/local/word/gitea/data目录挂载到容器的/var/lib/gitea目录。
-v /usr/local/word/gitea/config:/etc/gitea
:将宿主机的/usr/local/word/gitea/config目录挂载到容器的/etc/gitea目录。
-v /etc/timezone:/etc/timezone:ro
:将宿主机的/etc/timezone文件以只读方式挂载到容器的/etc/timezone文件。
-v /etc/localtime:/etc/localtime:ro
:将宿主机的/etc/localtime文件以只读方式挂载到容器的/etc/localtime文件。
gitea/gitea:latest
:使用名为gitea的镜像,版本为latest。
32675)
因为前面安装的mysql,所以选择mysql
只需要按照下图根据自己的部署进行“数据库配置”,“一般设置”中应该是自动生成了相关配置,然后直接安装即可
拥有者自动为当前用户(可选)
填写仓库名称后"创建仓库即可"
复制进行代码拉取
点击头像->设置->应用->创建应用
填写应用名称(自定义)
填写重定向地址,这个地址是跳转到drone登录页给它授权的因此填写将要部署的drone的ip(真实ip):port(真实端口)/login,如(127.0.0.1:32673/login)
点击"创建应用"
创建应用后会生成”客户端ID“、”客户端密钥“这个后面部署drone需要使用,先复制下来再返回,返回后密钥会变成*****加密状态
选择分支,填写版本号,然后”发布版本“
回到”代码“,鼠标指向“打勾”的位置(正在构建的时候是”黄色圆圈“,完成后为”打勾“)点击即可跳转drone查看构建详情
docker pull drone/drone:2
docker images
注意DRONE_RPC_SECRET这个要和后面部署的drone_runner_exec配置的一致,这个可以自定义
- docker run \
- --volume=/usr/local/word/drone/data:/data \
- --env=DRONE_GITEA_SERVER=http://gitea的ip:gitea的端口 \
- --env=DRONE_GITEA_CLIENT_ID=刚复制的客户端ID \
- --env=DRONE_GITEA_CLIENT_SECRET=刚复制的客户端密钥 \
- --env=DRONE_RPC_SECRET=98685c29d43eb3c76c14aa82e02c3d3b \
- --env=DRONE_SERVER_HOST=当前drone的ip:要配置的drone的端口 \
- --env=DRONE_SERVER_PROTO=http \
- --env=DRONE_USER_CREATE=username:git代码库的管理员账号,admin:true \
- --publish=32673:80 \
- --publish=32672:443 \
- --restart=always \
- --detach=true \
- --name=drone-app \
- drone/drone:2
--volume=/usr/local/word/drone/data:/data
:将主机上的/usr/local/word/drone/data
目录挂载到容器内的/data
目录,用于存储Drone的数据。--env=DRONE_GITEA_SERVER=http://gitea的ip:gitea的端口
:设置Drone Gitea服务器的地址和端口,如--env=DRONE_GITEA_SERVER=http://127.0.0.1:32675
。--env=DRONE_GITEA_CLIENT_ID=刚复制的客户端ID
:设置Drone Gitea客户端的ID。--env=DRONE_GITEA_CLIENT_SECRET=刚复制的客户端密钥
:设置Drone Gitea客户端的密钥。--env=DRONE_RPC_SECRET=98685c29d43eb3c76c14aa82e02c3d3b
:设置Drone RPC的密钥。--env=DRONE_SERVER_HOST=当前drone的ip:要配置的drone的端口
:设置Drone服务器的地址和端口,如--env=DRONE_SERVER_HOST=127.0.0.1:32673
。--env=DRONE_SERVER_PROTO=http
:设置Drone服务器的协议为HTTP。--env=DRONE_USER_CREATE=username:git代码库的管理员账号,admin:true
:创建一个具有管理员权限的用户,如--env=DRONE_USER_CREATE=username:root,admin:true
。--publish=32673:80
:将容器内的80端口映射到主机的32673端口。--publish=32672:443
:将容器内的443端口映射到主机的32672端口。--restart=always
:设置容器在退出时总是重新启动。--detach=true
:以后台模式运行容器。--name=drone-app
:给容器命名为drone-app
。drone/drone:2
:使用名为drone
的镜像,版本为2。ip+端口
点击”continue“,将会进入授权页面点击授权
点击”NEW BUILD“创建活动
点击”SYNC“同步构建信息,需要部署drone_runner_exec和gitea发布版本后进行,但点击不会有影响
通过docker方式部署的drone_runner_exec无法建立连接,所以我放弃了docker方式部署drone_runner_exec,选择直接在服务器安装
文件在文章顶部,也可自行下载所需版本
- gunzip drone_runner_exec_linux_amd64.tar.gz
- tar -xvf drone_runner_exec_linux_amd64.tar
DRONE_RPC_SECRET要和部署drone容器时相同(自定义)
DRONE_RPC_HOST=填drone的ip:端口,如127.0.0.1:32673
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=drone的IP:drone的端口
- DRONE_RPC_SECRET=98685c29d43eb3c76c14aa82e02c3d3b
- DRONE_LOG_FILE=/usr/local/word/drone/runner/log.txt
cp /usr/local/word/drone/runner/drone-runner-exec /usr/local/bin
drone-runner-exec service install
drone-runner-exec service start
跑流水线出现:
"commit":"83887c4f23d81fd682230472a7893a9bf6736be8","event":"custom","level":"info","msg":"trigger: skipping build, no matching pipelines","pipeline":"pro-env","ref":"refs/heads/master","repo":"xxx","time":"2024-06-17T06:59:11Z"
找不到执行流水线pro-env,gitea发布版本后drone无反应
原因:
arch配置与当前系统不匹配
platform:
os: linux
arch: amd64
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。