研发效能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 \
......

成功:

相关推荐
IChen.15 分钟前
解决centos 删除文件后但空间没有释放
linux·运维·centos
多恩Stone1 小时前
【vs code(cursor) ssh连不上服务器】但是 Terminal 可以连上,问题解决 ✅
运维·服务器·ssh
S hh1 小时前
【Linux 】文件描述符fd、重定向、缓冲区(超详解)
linux·运维·服务器
碳治郎AI1 小时前
Bolt.new:终极自动化编程工具
运维·自动化
朝九晚五ฺ2 小时前
【Linux探索学习】第三弹——Linux的基础指令(下)——开启新篇章的大门
linux·运维·学习
iangyu3 小时前
docker常用命令
运维·docker·容器
小小不董4 小时前
图文深入理解Oracle DB Scheduler
linux·运维·服务器·数据库·oracle
南瓜小米粥、5 小时前
通过fdisk初始化Linux数据盘
linux·运维·服务器
LYK_HAHA6 小时前
centos常用知识和命令
linux·运维·centos
PythonFun7 小时前
自建RustDesk服务器:详细步骤与操作指南
运维·服务器