Drone持续集成

Drone是一个用Go语言开发的基于容器运行的持续集成软件。

请注意,目前Drone1.0.0rc已经发布,但是本文所有内容均基于Drone0.8.0。

安装

Drone可以通过Docker安装,请参考https://0-8-0.docs.drone.io/installation/

运行时需要通过环境变量设置与Drone集成的版本控制系统。drone支持的版本控制系统包括GitHub,Gogs,GitLab等。我使用的是Gogs。

你可以修改后使用下面的compose文件。

version: '2'
services:
  drone-server-gogs:
    image: drone/drone:0.8
    ports:
      - 8020:8000
      - 9000
    volumes:
      - ./drone-gogs-data/:/var/lib/drone/
    restart: always
    environment:
      - DRONE_OPEN=false
      - DRONE_HOST=https://drone-ci.example.com
      - DRONE_ADMIN=admin
      - DRONE_GOGS=true
      - DRONE_GOGS_URL=https://git.example.com/
      - DRONE_SECRET=secret
drone-agent-gogs:
    image: drone/agent:0.8
    command: agent
    restart: always
    links:
      - drone-server-gogs
    depends_on:
      - drone-server-gogs
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=drone-server-gogs:9000
      - DRONE_SECRET=secret

使用Jenkins持续集成Java应用

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具。用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件持续集成。
在这学期的软件工程课设中,我们使用Jenkins持续构建、测试及部署一个Spring Boot应用。

安装Jenkins

在安装之前请确保已经安装了JDK和maven。
安装Jenkins有两种方法,一种是从官网下载打包好的.war包;或通过apt等包管理器安装。我的系统是Debian8,安装过程参考这篇文章即可,本文不再赘述。
How To Install Jenkins on Ubuntu 16.04 | DigitalOcean