zoukankan      html  css  js  c++  java
  • drone 0.8.8 集成gogs 进行ci/cd 处理

    drone 是一个不错的基于容器的ci/cd 工具,运行简单,同时插件也挺多,基本常见的轻量级的任务都是可以搞定的

    环境准备

    使用docker in docker

    • docker-compose 文件
    version: '3'
    services:
      gogs:
        image: gogs/gogs
        ports:
          - "10022:22"
          - "3000:3000"
        volumes:
          - ./data/gogs:/data
        depends_on:
          - mysql
      drone-db:
        image: mysql:5.7.16
        volumes:
          - ./gogs/mysql:/var/lib/mysql
        ports:
          - 3309:3306
        command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
        environment:
          MYSQL_ROOT_PASSWORD: dalongrong
          MYSQL_DATABASE: drone
          MYSQL_USER: drone
          MYSQL_PASSWORD: dalongrong
          TZ: Asia/Shanghai
      mysql:
        image: mysql:5.7.16
        volumes:
          - ./drone-db/mysql:/var/lib/mysql
        ports:
          - 3308:3306
        command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
        environment:
          MYSQL_ROOT_PASSWORD: dalongrong
          MYSQL_DATABASE: gogs
          MYSQL_USER: gogs
          MYSQL_PASSWORD: dalongrong
          TZ: Asia/Shanghai
      drone-server:
        image: drone/drone:0.8.8
        ports:
          - "8000:8000"
        volumes:
          - ./drone:/var/lib/drone/
        environment:
          - DRONE_OPEN=true
          - DRONE_HOST=http://10.6.197.9:8000 ## drone server 访问地址
          - DRONE_DEBUG=true
          - DRONE_DATABASE_DRIVER=mysql
          - DRONE_DATABASE_DATASOURCE=root:dalongrong@tcp(drone-db:3306)/drone?parseTime=true
          - DRONE_GOGS=true
          - DRONE_GOGS_URL=http://gogs:3000
          - DRONE_RPC_SECRET=ALQU2M0KdptXUdTPKcEw
          - DRONE_SECRET=ALQU2M0KdptXUdTPKcEw
      drone-agent:
        image: drone/agent:0.8.8
        depends_on:
          - drone-server
        environment:
          - DRONE_SERVER=drone-server:9000
          - DRONE_SECRET=ALQU2M0KdptXUdTPKcEw
          - DRONE_DEBUG=true
          - DOCKER_HOST=tcp://docker-bind:2375
      docker-bind:
         image: docker:dind
         privileged: true
         command: --storage-driver=overlay ## docker 文件存储的类型,需要结合操作系统,或者选择默认
    
    • 启动并配置gogs
      配置比较简单,参考界面提示进行操作就可以了
    docker-compose up -d
    • 效果

    配置drone 构建的项目

    • 项目添加.drone.yml
    pipeline:
      frontend:
        image: node:9
        commands:
        - echo 'this is a demo app'
        - echo 'demoapp' 
    • 登陆drone 启用构建

      说明,因为都是本地环境,会有一个webhook url 的问题,drone 调用api 写入的是localhost:8000 造成webhook 无法生效,可以参考如下配置
      进入到gogs 项目

    修改代码并测试

    • 修改gogs git 仓库代码
      很简单,随便修改几个文件就可以了
    • 效果

    参考资料

    https://0-8-0.docs.drone.io/install-for-gogs/
    https://0-8-0.docs.drone.io/installation/

  • 相关阅读:
    分享——张南《从Desktop到Mobile的自动化测试实践》
    GTAC 2015将于11月10号和11号召开
    2015 Selenium大会
    最近订阅的视频
    Episode 388: Testing vs Monitoring
    中国移动测试大会 PPT 和视频
    首届中国移动互联网测试大会在北京圆满闭幕
    推荐——吴晓波频道
    移动测试会Ebay沙龙PPT
    「中国移动互联网测试大会」报名开始啦!
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/9963139.html
Copyright © 2011-2022 走看看