文档章节

Gogs与Drone环境搭建

Raphael_Zhang
 Raphael_Zhang
发布于 2018/04/19 12:03
字数 561
阅读 814
收藏 1

前言

CI/CD是DevOps中不可或缺的流程之一,在项目组建初期,根据以往的经验,选择了gitlab+jenkins的组合。这两个工具有着比较悠久的历史,功能非常完备,是非常值得推荐的工具组合。

  • gitlab

gitlab基于ROR框架开发,目前已经迭代到了10个大版本,是市面上比较成熟的git工具之一。由于历史悠久,功能已经是相当完善,不仅仅局限于代码管理,现在已经发展成为了一个完整的项目周期管理平台,集成了git、ci、scrume等非常前沿的工具。

  • jenkins

java语言开发,插件系统非常完善,支持几乎所有的平台与语言,功能强大,是比较主流的CI/CD平台。

为什么选择gogs+drone

  • gitlab是ruby写的,jenkins是java写的,而且项目都比较庞大,所以对硬件的要求比较高,gitlab要求系统至少4G的内存,jenkins至少2G,所以要想在一台服务器上装这两个,准备至少8G的系统内存吧。
  • 最近对golang比较上心,语言在性能与开销之间比较平衡,比较适合我这种对硬件比较抠门的人。
  • 逼格高,可以用来炫技。

安装

  • 通过docker-compose安装,对应的docker-compose.yml文件内容如下:
version: '2'

services:
  gogs:
    image: gogs/gogs:latest
    ports:
      - "10022:22"
      - 3000:3000
    volumes:
      - /vagrant/gogs-data:/data
    restart: always
  mysql:
    image: mysql:latest
    ports:
      - 3306:3306
    volumes:
      - /vagrant/mysql-data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=${your_password}
      - MYSQL_DATABASE=gogs
  drone-server:
    image: drone/drone:latest
    ports:
      - 8000:8000
      - 9000:9000
    volumes:
      - /var/lib/drone:/var/lib/drone
    restart: always
    environment:
      # 开启注册,此配置允许任何人自注册和登录系统
      - DRONE_OPEN=true
      #直接配置172.17.32.212:9000 会报错
      - DRONE_HOST=http://172.17.32.212:9000
      # 设置管理员用户
      - DRONE_ADMIN=admin
      # 开启Gogs驱动
      - DRONE_GOGS=true
      # Gogs服务器地址
      - DRONE_GOGS_URL=http://172.17.32.212:3000
      # 此SECRET为任意值
      - DRONE_SECRET=YeNmPSFyl090RMy4
  drone-agent:
    image: drone/agent:latest
    command: agent
    restart: always
    depends_on: 
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      # Drone Server 地址,无需加http://
      - DRONE_SERVER=172.17.32.212:9000
      # 与Drone Server一致即可
      - DRONE_SECRET=YeNmPSFyl090RMy4
  • 部署docker-compose服务
$ docker-compose up -d

这样就完成了工具的部署

© 著作权归作者所有

Raphael_Zhang
粉丝 3
博文 5
码字总数 4750
作品 0
程序员
私信 提问
加载中

评论(0)

极易搭建的自助 Git 服务--Gogs

Gogs 是一款极易搭建的自助 Git 服务。 开发目的 Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go...

无闻
2014/03/24
8.8W
35
drone + gogs 构建CI/CD

1.下载 gogs drone镜像 2.接下来启动三个server,记得将里面的ip地址改成本机的。 2.1启动gogs server 2.2 drone的dockerdocker-compose.yml 3.访问 gogs http://192.168.2.100:3000,配置仓...

流萤飘枫丶
2018/01/20
725
0
khs1994-docker/ci

私有化 CI/CD 解决方案 如何工作 1. 本地制作 Docker 镜像推送到私有仓库(Docker Registry) 2. 本地开发项目,推送到 git (例如,GitHub,Gogs ...) Drone 自动拉取代码完成编译,部署(...

khs1994-docker
2018/04/09
0
0
前端工程师的CI进阶之路

女主宣言 本文的作者为奇舞团前端工程师怡红公子,他是基于ThinkJS 开发的高人气开源博客平台 Firekylin (over 1.2k Stars) 的作者,今天他分享的是使用 Drone.io 取代 travis-ci 做日常开发...

zvayivqt0ufji
2017/11/30
0
0
基于drone的CI/CD,对接kubernetes实践教程

CI 概述 用一个可描述的配置定义整个工作流 程序员是很懒的动物,所以想各种办法解决重复劳动的问题,如果你的工作流中还在重复一些事,那么可能就得想想如何优化了 持续集成就是可以帮助我们...

店家小二
2018/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

笔试编程

二维数组中的查找 Q: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一...

沙门行道
19分钟前
61
0
nginx配置访问日志

[root@localhost vhost]# vi proxy.conf server{ listen 80; server_name www.123.com; location / { proxy_pass http://10.133.254.205:8080/; pr......

oschina130111
36分钟前
43
0
免费的https证书能不能用?

在https加密协议备受推崇的时代,站长们都纷纷在为自己的网站部署https证书,没有部署的也差不多都在计划中。而市面上的https证书有免费和付费之分,难免有些用户会为了节约成本而去选择免费...

安信证书
46分钟前
55
0
RN 热更新Node服务cpu占用从80% 优化到20% 记录

RN 热更新Node服务cpu占用从80% 优化到20% 记录 先看优化前后结果对比 优化前 优化后 先聊下背景,过年前半路接手团队的 RN的热更新的服务端开发,服务端采用的是 Express + Mysql,是拿 gith...

hucheng9110
52分钟前
57
0
看懂了责任链模式,你就能明白很多

前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 最近在看项目代码的时候发现「责任链模式」,于是想花点时间来写写什么是责任链...

Java3y
57分钟前
107
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部