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

成功:

相关推荐
chinesegf17 小时前
Docker篇4-本地项目app.py与docker加载项目镜像的开发顺序
运维·docker·容器
CyreneSimon17 小时前
Docker 拉取配置教程:解决镜像拉取连接超时问题
运维·docker·容器
李子红了时17 小时前
【墨铺网教程】一台电脑加入多个局域网,让电脑做上传下载主力又当存储盘
运维·服务器·电脑
snpgroupcn19 小时前
Adobe SAP S/4HANA 升级实践:企业规模化转型关键要素
运维·adobe·云计算
MYPM_AndyLiu20 小时前
软件测试和DevOps的关系
软件测试·devops·testops·测试左右移
www.0221 小时前
linux服务器升级显卡驱动(笔记)
linux·运维·服务器·笔记·ubuntu·服务器环境
Yeats_Liao21 小时前
Go Web 编程快速入门 13 - 部署与运维:Docker容器化、Kubernetes编排与CI/CD
运维·前端·后端·golang
BD_Marathon1 天前
【Linux】awk命令
linux·运维·服务器
林一百二十八1 天前
Win11配置VMware-workstation以及Ubuntu环境
linux·运维·ubuntu
matrixcode11 天前
CircleCI 让持续集成变得简单而高效的开源框架
其他·ci/cd·开源