当前位置:   article > 正文

gitea+drone+mysql简单轻量级流水线部署_drone使用mysql

drone使用mysql
1,安装部署mysql

docker简单部署mysql-CSDN博客

1.1,需要创建一个gitea库
CREATE DATABASE gitea;
2,安装部署gitea
2.1,拉取镜像
docker pull gitea/gitea:latest
2.2,启动容器与挂载
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。

2.3,通过IP+端口安装与访问 (服务器ip:32675)

因为前面安装的mysql,所以选择mysql

只需要按照下图根据自己的部署进行“数据库配置”,“一般设置”中应该是自动生成了相关配置,然后直接安装即可

2.4,创建仓库上传代码

拥有者自动为当前用户(可选)

填写仓库名称后"创建仓库即可"

复制进行代码拉取

2.5,配置应用管理drone

点击头像->设置->应用->创建应用

填写应用名称(自定义)

填写重定向地址,这个地址是跳转到drone登录页给它授权的因此填写将要部署的drone的ip(真实ip):port(真实端口)/login,如(127.0.0.1:32673/login)

点击"创建应用"

创建应用后会生成”客户端ID“、”客户端密钥“这个后面部署drone需要使用,先复制下来再返回,返回后密钥会变成*****加密状态

2.6,发布版本

 

选择分支,填写版本号,然后”发布版本“

 

回到”代码“,鼠标指向“打勾”的位置(正在构建的时候是”黄色圆圈“,完成后为”打勾“)点击即可跳转drone查看构建详情

 

3,部署drone
3.1,拉取镜像
docker pull drone/drone:2
docker images

3.2,部署drone容器

注意DRONE_RPC_SECRET这个要和后面部署的drone_runner_exec配置的一致,这个可以自定义

  1. docker run \
  2. --volume=/usr/local/word/drone/data:/data \
  3. --env=DRONE_GITEA_SERVER=http://gitea的ip:gitea的端口 \
  4. --env=DRONE_GITEA_CLIENT_ID=刚复制的客户端ID \
  5. --env=DRONE_GITEA_CLIENT_SECRET=刚复制的客户端密钥 \
  6. --env=DRONE_RPC_SECRET=98685c29d43eb3c76c14aa82e02c3d3b \
  7. --env=DRONE_SERVER_HOST=当前drone的ip:要配置的drone的端口 \
  8. --env=DRONE_SERVER_PROTO=http \
  9. --env=DRONE_USER_CREATE=username:git代码库的管理员账号,admin:true \
  10. --publish=32673:80 \
  11. --publish=32672:443 \
  12. --restart=always \
  13. --detach=true \
  14. --name=drone-app \
  15. 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。
3.3,访问drone

ip+端口

点击”continue“,将会进入授权页面点击授权

点击”NEW BUILD“创建活动

点击”SYNC“同步构建信息,需要部署drone_runner_exec和gitea发布版本后进行,但点击不会有影响

 

3.4,查看构建详情

4,部署drone_runner_exec

通过docker方式部署的drone_runner_exec无法建立连接,所以我放弃了docker方式部署drone_runner_exec,选择直接在服务器安装

文件在文章顶部,也可自行下载所需版本

4.1,解压文件
  1. gunzip drone_runner_exec_linux_amd64.tar.gz
  2. tar -xvf drone_runner_exec_linux_amd64.tar
4.2,在etc目录新建/drone-runner-exec/config文件,添加配置

DRONE_RPC_SECRET要和部署drone容器时相同(自定义)

DRONE_RPC_HOST=填drone的ip:端口,如127.0.0.1:32673

  1. DRONE_RPC_PROTO=http
  2. DRONE_RPC_HOST=drone的IP:drone的端口
  3. DRONE_RPC_SECRET=98685c29d43eb3c76c14aa82e02c3d3b
  4. DRONE_LOG_FILE=/usr/local/word/drone/runner/log.txt
4.3,将解压文件拷贝到bin目录下
cp /usr/local/word/drone/runner/drone-runner-exec  /usr/local/bin
4.4,安装runner
drone-runner-exec service install
4.5,启动runner
drone-runner-exec service start

4.6,问题

跑流水线出现:
"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 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/832513
推荐阅读
相关标签
  

闽ICP备14008679号