drone 持续集成配置

Drone 是一个轻量级,为容器构建的强大的持续交付平台。drone提供的功能感觉强大而不臃肿,下面就记录一下drone使用的过程。
Drone有server和agent两个组件,可以通过docker-compose实现快速安装,可以集成github,gitlab,gogs等多种代码托管平台,因为这里需要用到webhook的功能,所以就自己搭建了一个私有的gogs。gogs的搭建非常简单,也可以通过docker-compose快速启动一个。

安装Gogs

version: '2'
services:
    postgres:
      image: postgres:9.5
      restart: always
      ports:
       - "5432:5432"
      environment:
       - "POSTGRES_USER=admin"
       - "POSTGRES_PASSWORD=123456"
       - "POSTGRES_DB=gogs"
      networks:
       - gogs
    gogs:
      image: gogs/gogs:latest
      restart: always
      ports:
       - "10022:22"
       - "3000:3000"
      links:
       - postgres
      environment:
       - "RUN_CROND=true"
      networks:
       - gogs
      depends_on:
       - postgres

networks:
    gogs:
      driver: bridge

这个一个gogs的compose文件,通过这个文件可以启动一个gogs项目。

WX20171028-175049@2x.png

安装Drone

version: '2'

services:
  drone-server:
    image: drone/drone:0.7
    ports:
      - 8000:8000
    volumes:
      - /tmp/drone:/var/lib/drone/
    restart: always
    environment:
      - DRONE_OPEN=true
      - DRONE_ADMIN=yqguo
      - DRONE_HOST=192.168.31.114
      - DRONE_SECRET=yqguo
      - DRONE_GOGS=true
      - DRONE_GOGS_URL=http://192.168.31.114:3000
      # - DRONE_GOGS_GIT_USERNAME=yqguo
      # - DRONE_GOGS_GIT_PASSWORD=123456
      - DRONE_GOGS_PRIVATE_MODE=true
      - DRONE_GOGS_SKIP_VERIFY=false
  drone-agent:
    image: drone/drone:0.7
    command: agent
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=ws://drone-server:8000/ws/broker
      - DRONE_SECRET=yqguo

这是drone的docker-compose文件,通过这个yaml文件可以快速启动drone项目。
启动以后用gogs的用户名密码登录如下图所示:

WX20171028-175358@2x.png

配置构建过程

在gogs里面新建一个项目并添加.drone.yml编译文件。

WX20171028-175538@2x.png

.drone.yml内容

pipeline:
  build:
    image: golang
    commands:
      - go build

配置文件就是单纯的执行了一次go build命令。

然后在drone里面开启dronetest项目构建:

WX20171028-175724@2x.png

到最后往dronetest里面push代码可以看到drone的构建过程:

WX20171028-175921@2x.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,719评论 15 147
  • 已经不再复习,拿起手机也放不下,索性直接放弃治疗。明天英语四级,我只能随缘。 经历过中考也经历过高考,经历过更多很...
    蓝桉_屿阅读 2,767评论 0 0
  • 作为一个刚进大学的孩子,我对攀枝花还是无比的期待,一个以花命名的城市,一个充满阳光的城市,在我的脑海里挥之不去。九...
    蕲玥0阅读 3,304评论 2 3
  • “师兄,你带着你的剑走吧。”说完这句话,慕容放开了自己的双手,就在几时之前,梳妆打扮倒是费了些功夫,难为的是牵肠挂...
    HiBingo阅读 2,682评论 2 4

友情链接更多精彩内容