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 ...
随机推荐
- Nginx为什么能快到根本停不下来?
Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名.本文从底层原理分析 Nginx 为什么这么快! Nginx 的进程模型 Nginx 服务器,正常运行过程中: 多进程:一个 M ...
- 重新整理 .net core 实践篇—————工作单元模式[二十六]
前言 简单整理一下工作单元模式. 正文 工作单元模式有3个特性,也算是其功能: 使用同一上下文 跟踪实体的状态 保障事务一致性 工作单元模式 主要关注事务,所以重点在事务上. 在共享层的基础建设类库中 ...
- .NET Core/.NET5/.NET6 开源项目汇总4:CMS、Blog项目
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- 自动删除n天前的日志(此处用于业务删除xml文件)
Linux应用总结:自动删除n天前的日志 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快 ...
- MySQL explain type 连接类型
查看使用的数据库版本 select version(); 5.7.30 官方提供的示例数据sakila 下载地址: https://dev.mysql.com/doc/index-other.html ...
- 阿里云中quick bi用地图分析数据时维度需转换为地理区域类型
1.到数据集里面点击编辑要做地图分析的数据集 2.找到要分析的地理维度字段,选择转换为对应的类型,这里为市级,所以选择转换为市,其它类似,然后点击右上角保存即可. 3.返回数据集,点击新建仪表板 4. ...
- Redis之Sentinel
Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的.可喜的是Redis从 2.8 ...
- 关于Ubuntu开启ifConfig和Ping命令的支持,查看本机Ip地址和检查外部连接
背景介绍 我们都知道Windows中自带了对ipconfig和ping的命令支持,但是在Linux中可能是默认没有带这个支持的. 那么接下来,我们介绍如何在Linux中,安装相关组件来支持Linux版 ...
- sonarqube 8.9版本配置发信邮箱
admin登陆sonarqube系统 安装部署sonarqube 请参见我的安装博文: https://www.cnblogs.com/cndevops/p/14934434.html 配置邮箱 配置 ...
- 想用Electron做个小工具?这个或许是终极版
故事背景 之前在网上有看到很多小伙伴基于 electron 实现了非常多好用的桌面端工具,比如图床管理工具 PicGo,就专门做图床工具.也有一些其他的类似的小工具,比如 saladict-deskt ...