研发效能DevOps: OpenEuler 部署 drone 持续集成平台

目录

一、实验

1.环境

[2.OpenEuler 部署 drone 持续集成平台](#2.OpenEuler 部署 drone 持续集成平台)

二、问题

1.drone登录失败


一、实验

1.环境

(1)主机

表1 主机

|-------|---------------------|---------------|-------------------------------------------------------------|--------|
| 系统 | 架构 | 版本 | IP | 备注 |
| Linux | openEuler | 22.03 LTS SP2 | 192.168.204.145(动态) 192.168.204.141(静态) 192.168.204.142(静态) | |
| | MySQL | 8.0.36 | | 数据库 |
| | gogs | 0.13.0 | | 代码仓库 |
| | docker | 25.0.3 | | |
| | drone | 2.6.0 | | 持续集成平台 |
| | drone-runner-docker | 1.4.0 | | |

(2)查看系统版本

bash 复制代码
[root@localhost ~]# cat /etc/os-release

(3) 查看网络ip

bash 复制代码
[root@localhost ~]# ip addr

(4) 查看MySQL版本

bash 复制代码
[root@localhost ~]# mysql -V

(5) 查看docker版本

bash 复制代码
[root@localhost ~]# docker -v

(6)查看gogs的仓库

2.OpenEuler 部署 drone 持续集成平台

(1)官网

bash 复制代码
1)官网
https://www.drone.io/

2)文档
https://docs.drone.io/server/provider/gogs/

(2)拉取Drone-server镜像

搜索

bash 复制代码
[root@localhost ~]# docker search drone/drone
NAME                                   DESCRIPTION                                      STARS     OFFICIAL
drone/drone                            Drone is a Continuous Integration platform b...   384
drone/drone-runner-docker                                                               39
drone/drone-exec                                                                        7
drone/drone-runner-kube                                                                 4
drone/drone-runner-ssh                                                                  4
drone/drone-blocker                                                                     0
drone/drone-wall                                                                        0
drone/drone-convert-starlark                                                            0
drone/drone-runner-nomad                                                                0
drone/drone-manage                                                                      0
drone/drone-jsonnet                                                                     0
drone/drone-runner-digitalocean                                                         0
drone/drone-runner-aws                                                                  1
drone/drone-admit-members                                                               0
drone/drone-build                                                                       2
drone/drone-runner-macstadium                                                           0
drone/drone-desktop-docker-extension                                                    1

拉取

bash 复制代码
[root@localhost ~]# docker pull drone/drone:2.6.0

(3)安装Drone-server容器

bash 复制代码
docker run -itd \
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GOGS_SERVER=http://192.168.204.141:3000 \
--env=DRONE_SERVER_PROTO=http \
--env=DRONE_SERVER_HOST=192.168.204.141:20080 \
--env=DRONE_USER_CREATE=username:administrator,admin:true \
--env=DRONE_RPC_SECRET=123456 \
--name=drone-server \
--restart=always \
-p 20080:80 \
-v /home/drone/server/data:/data \
drone/drone:2.6.0

(4)拉取Drone-runner-docker镜像

bash 复制代码
[root@localhost ~]# docker pull drone/drone-runner-docker:1.4.0

(5)安装Drone-runner-docker

bash 复制代码
docker run -itd \
--env=DRONE_RPC_PROTO=http \
--env=DRONE_RPC_HOST=192.168.204.141:20080 \
--env=DRONE_RPC_SECRET=123456 \
--env=DRONE_RUNNER_CAPACITY=2 \
--env=DRONE_RUNNER_NAME=drone-runner-line \
--name=drone-runner \
--restart=always \
-p 23000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
drone/drone-runner-docker:1.4.0

(6)查看日志

bash 复制代码
[root@localhost ~]# docker logs -f drone-runner
INFO[0000] starting the server                           addr=":3000"
INFO[0000] successfully pinged the remote server
INFO[0000] polling the remote server                     arch=amd64 capacity=2 endpoint="http://192.168.204.141:20080" kind=pipeline os=linux type=docker

(7)查看进程

bash 复制代码
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                             COMMAND                   CREATED          STATUS          PORTS                                              NAMES
965e6c8a8575   drone/drone-runner-docker:1.4.0   "/bin/drone-runner-d..."   18 minutes ago   Up 18 minutes   0.0.0.0:23000->3000/tcp, :::23000->3000/tcp        drone-runner
80714f28b755   drone/drone:2.6.0                 "/bin/drone-server"       18 minutes ago   Up 18 minutes   443/tcp, 0.0.0.0:20080->80/tcp, :::20080->80/tcp   drone-server

(8)登录Drone

bash 复制代码
http://localhost:20080

输入账户密码

填写基本信息

(9)进入系统

可以看到gogs的仓库

(10)激活仓库

点击 ACTIVE REPOSITORY

打开Trusted

保存

二、问题

1.drone登录失败

(1)报错

(2)原因分析

docker创建容器时指定的gogs地址有误。

(3)解决方法

修改docker创建容器时指定的gogs地址。

修改前:

bash 复制代码
......
--env=DRONE_GOGS_SERVER=http://localhost:3000 \
......

修改后:

bash 复制代码
......
--env=DRONE_GOGS_SERVER=http://192.168.204.141:3000 \
......

成功:

相关推荐
云边云科技6 分钟前
零售行业新店网络零接触部署场景下,如何选择SDWAN
运维·服务器·网络·人工智能·安全·边缘计算·零售
城管不管19 分钟前
Docker核心---数据卷(堵门秘籍)
运维·docker·容器
AOwhisky32 分钟前
Linux 文本处理三剑客:awk、grep、sed 完全指南
linux·运维·服务器·网络·云计算·运维开发
xuanerya1 小时前
使用 SSH 方式克隆 GitHub 仓库没有权限解决办法
运维·ssh·github
runfarther2 小时前
搭建LLaMA-Factory环境
linux·运维·服务器·python·自然语言处理·ai编程·llama-factory
百思可瑞教育2 小时前
Spring Cloud Gateway 负载均衡全面指南
运维·负载均衡·北京百思可瑞教育·百思可瑞教育·北京百思教育
MUY09906 小时前
应用控制技术、内容审计技术、AAA服务器技术
运维·服务器
楠奕6 小时前
elasticsearch8.12.0安装分词
运维·jenkins
Sadsvit7 小时前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos
java资料站7 小时前
Jenkins
运维·jenkins