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

2024-03-12 02:52

本文主要是介绍研发效能DevOps: OpenEuler 部署 drone 持续集成平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、实验

1.环境

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

二、问题

1.drone登录失败


一、实验

1.环境

(1)主机

表1  主机

系统架构版本IP备注
LinuxopenEuler22.03 LTS SP2

192.168.204.145(动态)

192.168.204.141(静态)

192.168.204.142(静态)

MySQL8.0.36数据库
gogs0.13.0代码仓库
docker25.0.3
drone2.6.0持续集成平台
drone-runner-docker1.4.0

(2)查看系统版本

[root@localhost ~]# cat /etc/os-release

e4d8bd1e19174f7ebec18a7c53fb3c2a.png

(3) 查看网络ip

[root@localhost ~]# ip addr

(4) 查看MySQL版本

[root@localhost ~]# mysql -V

(5) 查看docker版本

[root@localhost ~]# docker -v

(6)查看gogs的仓库

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

(1)官网

1)官网
https://www.drone.io/2)文档
https://docs.drone.io/server/provider/gogs/

(2)拉取Drone-server镜像

搜索

[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

拉取

[root@localhost ~]# docker pull drone/drone:2.6.0

(3)安装Drone-server容器

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镜像

[root@localhost ~]# docker pull drone/drone-runner-docker:1.4.0

 (5)安装Drone-runner-docker

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)查看日志

[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)查看进程

[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

http://localhost:20080

输入账户密码

填写基本信息

(9)进入系统

可以看到gogs的仓库

(10)激活仓库

点击 ACTIVE REPOSITORY

打开Trusted

保存

二、问题

1.drone登录失败

(1)报错

(2)原因分析

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

(3)解决方法

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

修改前:

……
--env=DRONE_GOGS_SERVER=http://localhost:3000 \
……

修改后:

……
--env=DRONE_GOGS_SERVER=http://192.168.204.141:3000 \
……

成功:

这篇关于研发效能DevOps: OpenEuler 部署 drone 持续集成平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/799913

相关文章

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

SpringBoot集成P6Spy的实现示例

《SpringBoot集成P6Spy的实现示例》本文主要介绍了SpringBoot集成P6Spy的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录本节目标P6Spy简介抛出问题集成P6Spy1. SpringBoot三板斧之加入依赖2. 修改

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

SpringBoot集成Shiro+JWT(Hutool)完整代码示例

《SpringBoot集成Shiro+JWT(Hutool)完整代码示例》ApacheShiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,在现代应用开发中,Shiro因... 目录一、背景介绍1.1 为什么使用Shiro?1.2 为什么需要双Token?二、技术栈组成三、环境

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南

《SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南》本文将基于开源项目springboot-easyexcel-batch进行解析与扩展,手把手教大家如何在SpringBo... 目录项目结构概览核心依赖百万级导出实战场景核心代码效果百万级导入实战场景监听器和Service(核心