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

成功:

相关推荐
风曦Kisaki5 分钟前
Kubernetes(K8s)笔记Day04:控制器(ReplicaSet 与Deployment),滚动更新及回滚,滚动更新策略,Pod 的 DNS 策略
linux·运维·笔记·docker·容器·kubernetes
薛定e的猫咪7 分钟前
零基础选型指南:Make / 扣子 Coze/n8n/Dify 四大自动化平台完整对比
运维·自动化
Huangjin007_17 分钟前
【Linux 系统篇(十)】基础开发工具(五) —— 第一个系统程序 - 进度条
linux·运维·服务器
MetrixAeroCore34 分钟前
出海餐厅手持POS机物联网卡:多币种计费稳定传输与跨境税务合规对接方案
运维
路由侠内网穿透.35 分钟前
本地部署开源日志收集系统 Log Bull 并实现外部访问
运维·服务器·网络·数据库·开源
时空无限1 小时前
linux mellanox 网卡队列 irq rps 相关
linux·运维
AlbertS1 小时前
Let‘s Encrypt 证书自动续期并自动应用到Nginx
运维·nginx·ssl·cerbot·renew·续期
kdxiaojie1 小时前
Linux 驱动研究 —— V4L2 (14)
linux·运维·笔记·学习
如若1231 小时前
Ubuntu 无 sudo 安装花生壳并实现 SSH 内网穿透:Conda 环境部署、冲突排查与自动启动
linux·运维·ubuntu·ssh·内网穿透
承渊政道2 小时前
Linux系统学习【掌握Ext系列⽂件系统的相关内容】
linux·运维·学习·文件系统·存储结构·inode