drone 集成gitlab 配置以及简单测试

Posted rongfengliang-荣锋亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了drone 集成gitlab 配置以及简单测试相关的知识,希望对你有一定的参考价值。

备注:

    使用docker-compose  进行安装 同时集成gitlab,预备环境 docker  docker-compose  gitlab

1. docker-compose 

version: \'3\'
services:
  drone-server:
    image: drone/drone:0.8
    ports:
      - 8080:8000
      - 9000
    volumes:
      - ./drone:/var/lib/drone/
    restart: always
    environment:
      - DRONE_OPEN=true
      - DRONE_HOST=http://10.15.0.66:8080 # 参考drone 配置
      - DRONE_GITLAB=true
      - DRONE_GITLAB_CLIENT=1e4484a41fc6bbc8504c79b629b8d3eaf8eb6bc902b13b984618e5e6360cabc5
      - DRONE_GITLAB_SECRET=748192aa5a3fda23f1a6891039bb453f068d91102ff66a29d9656cde10a551ef
      - DRONE_GITLAB_URL=YOUGITLAB
      - DRONE_SECRET=appdemo
  drone-agent:
    image: drone/agent:0.8
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=drone-server:9000
      - DRONE_SECRET=appdemo

备注: 上面的gitlab client secret  在gitlab 进行配置即可,这样就能集成gitlab 的认证以及访问了

2. 启动运行

备注: 我集成了jenkins

a. Jenkinsfile

pipeline {
  agent {
    node {
      label \'docker-66\'
    }
    
  }
  stages {
    stage(\'docker-compose build\') {
      steps {
        sh \'docker-compose build\'
      }
    }
    stage(\'docker-compose run\') {
      steps {
        sh \'docker-compose up -d \'
      }
    }
  }
}

3.  创建构建项目

参考  https://github.com/rongfengliang/drone-appdemo

主要是 .drone.yml (测试比较简单,只是简单的构建以及以来包的下载,实际需要考虑,发布,部署)

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

  frontend:
    image: node:6
    commands:
      - npm install
      - npm test
4.  运行&&启用drone ci
 
输入 http://dronehost:port  会跳转到 gitlab 认证页面,同意授权,并启动项目
 
 
 
 
 
 
5.  总结
 
  对于使用容器开发的团队来说还是比较方便的,同时gitlab 本身也支持drone ci ,可以进行深度集成,灵活性上也不错,同时使用上也比较简单
 
6. 参考资料
http://docs.drone.io/installation/
http://docs.drone.io/getting-started/
https://github.com/rongfengliang/drone-appdemo

以上是关于drone 集成gitlab 配置以及简单测试的主要内容,如果未能解决你的问题,请参考以下文章

入门系列之在Ubuntu上安装Drone持续集成环境

使用GitLab+Drone CI持续集成自动部署web项目,图文详细

Jenkins+Gitlab+自动化测试配置持续集成

gitlab+drone+harbor之CI自动化流程

gitlab+drone+harbor之CI自动化流程

使用Drone+gitea配置自己的CICD流程