zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    4.4 Iterator(迭代器)
    4.6 Memento(备忘录)
    4.1 Chain of Responsibility(职责链)
    4.5 Mediator(中介者)
    4.7 Observer(观察者)
    4.8 State(状态)
    4.11 Visitor(访问者)
    4.2 Command(命令)
    3.7 Proxy(代理)
    4.10 Template Method(模板方法)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/8981905.html
Copyright © 2011-2022 走看看