Gogs+Drone搭建CI/CD平台
Gogs 是由 Go 语言编写的 Git 服务器,由中国人主导开发的一款开源项目,搭建方便并且拥有完善的中文文档,配合 Drone 可以实现持续集成/持续部署。本文介绍如何通过 Docker 搭建 Gogs+Drone 环境。
环境
- MacOS
- Docker && docker-compose
部署
1. 创建目录(不是必须的,可以放在任何目录里面)
mkdir cicd
cd cicd
mkdir gogs drone # 存放相关数据
2. 编写 docker-compose.yaml
version: "2"
services:
gogs:
container_name: gogs
image: gogs/gogs:0.11.86
ports:
- 3000:3000
volumes:
- ./gogs/data:/data
environment:
- TZ=Asia/Shanghai
restart: always
drone-server:
image: drone/drone:1.2.1
container_name: drone-server
ports:
- 8000:80
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./drone/:/var/lib/drone
environment:
- DRONE_OPEN=true
- DRONE_SERVER_HOST=drone-server:80
- DRONE_DEBUG=true
- DRONE_GIT_ALWAYS_AUTH=false
- DRONE_GOGS=true
- DRONE_GOGS_SKIP_VERIFY=false
- DRONE_GOGS_SERVER=http://${IP}:3000
- DRONE_PROVIDER=gogs
- DRONE_SERVER_PROTO=http
- DRONE_RPC_SECRET=7b4eb5caee376cf81a2fcf7181e66175
- DRONE_USER_CREATE=username:${ACCOUNT},admin:true
- DRONE_DATABASE_DATASOURCE=/var/lib/drone/drone.sqlite
- DRONE_DATABASE_DRIVER=sqlite3
- TZ=Asia/Shanghai
restart: always
drone-agent:
image: drone/agent:1.2.1
container_name: drone-agent
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_SERVER=${IP}:8000
- DRONE_RPC_SECRET=7b4eb5caee376cf81a2fcf7181e66175
- DRONE_RUNNER_CAPACITY=2
- DRONE_DEBUG=true
- TZ=Asia/Shanghai
restart: always
在当前目录下创建 .env 文件,内容根据实际情况填写
IP=192.168.1.1
ACCOUNT=xxx
3. 运行
docker-compose up -d
待启动完成之后,访问Gogs,进入安装界面

数据库类型按照实际环境选择,本文采用 SQLite3 方式。将域名和应用 URL 中的 IP 换成本地 IP,然后安装,其余不用修改,安装成功之后,注册账号,账号填写 .env 文件中配置的账号

注册的账号同样可以在Drone中登录。
4. 测试
创建一个 demo 项目并提交到 git 仓库,登录Drone,同步并激活仓库
添加.drone.yml 文件,内容如下
kind: pipeline
name: greeting
steps:
- name: demo
image: alpine
commands:
- echo Hello World
Drone 平台查看构建结果

Gogs+Drone搭建CI/CD平台的更多相关文章
- Gogs + Drone 实现CI/CD(CD)
前文已经实现CI部分,本文继续以Asp.Net Core实现CD部分. 创建gogs仓库 首先在gogs创建一个空项目drone-ci-demo,本地新建一个asp.net core项目,并且在与.c ...
- Gogs + Drone 实现CI/CD(CI)
本文通过docker-compose方式安装运行drone,先将drone的server和agent镜像拉取到本地,这样docker-compose脚本执行速度会快一点.当然,不是必须先拉取drone ...
- 基于Gogs+Drone搭建的私有CI/CD平台
请移步 基于Gogs+Drone搭建的私有CI/CD平台
- 使用gogs,drone搭建自动部署
使用gogs,drone搭建自动部署 使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台Docker是使用go开发的开源容器引擎D ...
- 使用 Jenkins 搭建 CI/CD All In One
使用 Jenkins 搭建 CI/CD All In One https://ci.jenkins.io/ https://www.jenkins.io/zh/ jobs pipelines refs ...
- 基于Kubernetes构建企业Jenkins master/slave CI/CD平台
搭建平台目的: k8s中搭建jenkins master/slave架构,解决单jenkins执行效率低,资源不足等问题(jenkins master 调度任务到 slave上,并发执行任务,提升任务 ...
- 记录使用gogs,drone搭建自动部署测试环境
使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台 Docker是使用go开发的开源容器引擎 Drone是一个基于容器技术的持续集 ...
- Jenkins+GitLab+SonnarQube搭建CI/CD全流程
1. CI/CD 1.1 CI - 持续集成 持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干.持续集成的目的就是让产品可以快速迭 ...
- 使用 jenkins 搭建CI/CD流水线 (MAC)
如何搭建持续集成/持续交付平台?? 如何使用jenkins搭建持续交付流水线,以及和其他工具(如artifactory)集成?如何使用元数据,记录软件发布过程的构建信息,测试结果,并用rest Api ...
随机推荐
- pandas的数据结构介绍(一)—— Series
pandas两个主要数据结构之一--Series 类似于一维数组,由一组数据和与其相关的一组索引组成 obj = Series([4, 7, -5, 3], index=['d', 'b', 'a', ...
- redis为什么要提供pipeline功能
通常我们用redis做接口缓存后,查询接口的性能就能提升到ms级别: 但是redis是纯内存操作啊,总不至于要到ms吧,根据官方的 benchmark 单实例也是能抗 7w+ qps 也就是说单个re ...
- Linux网络基础TCP/IP
1.osi:七层 上三层,主要是用户层面;下四层是实际进行数据传输物理层: 设备之间比特流的传输,物理接口,电气特性等 端口号的作用 通过IP找到服务器,通过端口号找到具体哪个服务.网页服务的端口号是 ...
- Vue(4)Vue指令的学习1
前言 Vue官网一共有提供了14个指令,分别如下 v-text v-html v-show v-if ☆☆☆ v-else ☆☆☆ v-else-if ☆☆☆ v-for ☆☆☆ v-on ☆☆☆ v ...
- 带你掌握C++中三种类成员初始化方式
摘要:在C++11之后,声明时初始化->初始化列表->构造函数初始化. 本文分享自华为云社区<如何编写高效.优雅.可信代码系列(3)--类成员初始化的三种方式>,原文作者:我是 ...
- 20204107 孙嘉临《Python程序设计》实验一报告
课程:<python程序设计> 班级:2041 姓名:孙嘉临 学号:20204107 实验教师:王志强 实验日期:2021年4月12日 必修/选修:公选课 ##一.实验内容 1.熟悉Pyt ...
- Python3中最常用的5种线程锁你会用吗
前言 本章节将继续围绕threading模块讲解,基本上是纯理论偏多. 对于日常开发者来讲很少会使用到本章节的内容,但是对框架作者等是必备知识,同时也是高频的面试常见问题. 官方文档 线程安全 线程安 ...
- Python的字符串和编码
1. 字符编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit) ...
- error C3646: 未知重写说明符
记录一个报错 error C3646: 未知重写说明符 ①循环引用 在项目文件变多时,由于组织不当,很容易出现头文件的循环引用 有时候虽然没有出现循环引用,但是头文件多处被include :适当的使用 ...
- 5、cobbler搭建本地saltstack yum仓库
5.1.安装cobbler: 参考"linux运维_集群_01(35.cobbler自动化安装操作系统:)" 5.2.cobbler yum源常用操作命令: cobbler rep ...