踩坑drone-ci之安装篇

2,389 阅读1分钟

起源

从哪里听到了drone ci这个东东。

第一次听到这个是在一个微信群里,看到这个东西的时候一脸懵逼。咋有了Jenkins这么给力的东西为啥还要用这个。

为什么决定用这个。

在了解了之后就决定自己尝试一下看看,毕竟Jenkins的界面太丑了。哈哈

准备

  • 服务器一台:配置2C8G(腾讯云搞活动搞到的)
  • docker安装:(version 19.03.4)
  • drone ci [github.com/drone/drone]

开始

  • 参考地址:[docs.drone.io/installatio…],因为自己已经搭建了gitlab,所以直接用gitlab
    • 创建oauth application

    • 下载drone,直接上最新版

      docker pull drone/drone:1.6.2
      

    • docker run

      docker run \
      --volume=/var/lib/drone:/data \
      --env=DRONE_AGENTS_ENABLED=true \
      --env=DRONE_GITLAB_SERVER=xxxxx \
      --env=DRONE_GITLAB_CLIENT_ID=xxxx \
      --env=DRONE_GITLAB_CLIENT_SECRET=xxxx \
      --env=DRONE_RPC_SECRET=xxx \
      --env=DRONE_SERVER_HOST=xxxx \
      --env=DRONE_SERVER_PROTO=http \
      --publish=980:80 \
      --publish=9443:443 \
      --restart=always \
      --detach=true \
      --name=drone \
      drone/drone:1.6.2
      
    • 安装Docker Runners

      • 下载docker-runner-docker 1.0.1版本
        docker pull drone/drone-runner-docker:1.0.1
        
      • docker run
        docker run -d \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -e DRONE_RPC_PROTO=http \ 
        -e DRONE_RPC_HOST=xxx \
        -e DRONE_RPC_SECRET=xxxx \
        -e DRONE_RUNNER_CAPACITY=2 \
        -p 3000:3000 \
        --restart always \
        --name runner \
        drone/drone-runner-docker:1.0.1
        

结果

  • 访问drone ci web界面、
  • 点击试试。
  • 解决办法

留几个问题

  • drone是否支持多个git源?
  • drone是否有办法做到环境区分?