zoukankan      html  css  js  c++  java
  • Gogs+Drone搭建CI/CD平台

    Gogs 是由 Go 语言编写的 Git 服务器,由中国人主导开发的一款开源项目,搭建方便并且拥有完善的中文文档,配合 Drone 可以实现持续集成/持续部署。本文介绍如何通过 Docker 搭建 Gogs+Drone 环境。

    环境

    • MacOS
    • Docker && docker-compose

    部署

    1. 创建目录(不是必须的,可以放在任何目录里面)

    mkdir cicd
    cd cicd
    mkdir gogs drone # 存放相关数据
    

    2. 编写 docker-compose.yaml

    version: "2"
    services:
      gogs:
        container_name: gogs
        image: gogs/gogs:0.11.86
        ports:
          - 3000:3000
        volumes:
          - ./gogs/data:/data
        environment:
          - TZ=Asia/Shanghai
        restart: always
    
      drone-server:
        image: drone/drone:1.2.1
        container_name: drone-server
        ports:
          - 8000:80
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - ./drone/:/var/lib/drone
        environment:
          - DRONE_OPEN=true
          - DRONE_SERVER_HOST=drone-server:80
          - DRONE_DEBUG=true
          - DRONE_GIT_ALWAYS_AUTH=false
          - DRONE_GOGS=true
          - DRONE_GOGS_SKIP_VERIFY=false
          - DRONE_GOGS_SERVER=http://${IP}:3000
          - DRONE_PROVIDER=gogs
          - DRONE_SERVER_PROTO=http
          - DRONE_RPC_SECRET=7b4eb5caee376cf81a2fcf7181e66175
          - DRONE_USER_CREATE=username:${ACCOUNT},admin:true
          - DRONE_DATABASE_DATASOURCE=/var/lib/drone/drone.sqlite
          - DRONE_DATABASE_DRIVER=sqlite3
          - TZ=Asia/Shanghai
        restart: always
    
      drone-agent:
        image: drone/agent:1.2.1
        container_name: drone-agent
        depends_on:
          - drone-server
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
        environment:
          - DRONE_RPC_SERVER=${IP}:8000
          - DRONE_RPC_SECRET=7b4eb5caee376cf81a2fcf7181e66175
          - DRONE_RUNNER_CAPACITY=2
          - DRONE_DEBUG=true
          - TZ=Asia/Shanghai
        restart: always
    

    在当前目录下创建 .env 文件,内容根据实际情况填写

    IP=192.168.1.1
    ACCOUNT=xxx
    

    3. 运行

    docker-compose up -d
    

    待启动完成之后,访问Gogs,进入安装界面
    Install
    数据库类型按照实际环境选择,本文采用 SQLite3 方式。将域名和应用 URL 中的 IP 换成本地 IP,然后安装,其余不用修改,安装成功之后,注册账号,账号填写 .env 文件中配置的账号
    注册
    注册的账号同样可以在Drone中登录。

    4. 测试

    创建一个 demo 项目并提交到 git 仓库,登录Drone,同步并激活仓库

    添加.drone.yml 文件,内容如下

    kind: pipeline
    name: greeting
    
    steps:
    - name: demo
      image: alpine
      commands:
      - echo Hello World
    

    Drone 平台查看构建结果
    Drone

  • 相关阅读:
    使用getopts处理Shell脚本参数
    SAP R/3 MM模块学习笔记
    应 阿成1 要求 co主要业务操作手册
    AIX磁盘管理命令
    工作中心和工艺路线
    顾问学院培训教材 TAMM ,TAPP,TASD,TACO
    十个“三角形”汉字,好看、不好认
    ALV做出的报表里更改布局里没有保存按钮的解决方法
    SAP系统内的发票校验
    修改SAP 登录后的背景图片
  • 原文地址:https://www.cnblogs.com/thisismarc/p/13035229.html
Copyright © 2011-2022 走看看