美文网首页
Drone与GitLab结合实现自动化部署

Drone与GitLab结合实现自动化部署

作者: 大华夏 | 来源:发表于2021-05-22 22:52 被阅读0次

    Drone与gitlab结合实现自动化部署

    GitLab设置

    在gitlab中注册一个账号,此账号用来对接drone,用此账号登录gitlab后,点击头像下拉里的设置,按下面截图操作

    image.png image.png

    点击Applications后, 右边Name框输入一个名字,Redirect URI 为后面安装drone服务的登录地址,格式:http://ip:port/login,ip和端口根据实际情况设置,我这里是http://192.168.31.102:3080

    保存后

    image.png

    这里的信息把上图的信息记录下来,后面安装drone会用到

    Application: drone

    Application ID 0aa1809a0bdbf1f826acfd112b9d489f074fb9ca633c2e78af9737cba00b76fa
    Secret 9e84d46335ff0bdd26656d6b7257bc5cb3d81a78904a2f11e7f026f009012ada
    Callback URL http://192.168.31.102:3080/login

    用docker来安装drone

    drone有个Server和Runner的概念,我们先来理解下:

    • Server:为Drone的管理提供了Web页面,用于管理从Git上获取的仓库中的流水线任务。
    • Runner:一个单独的守护进程,会轮询Server,获取需要执行的流水线任务,之后执行。
    #拉取镜像
    docker pull drone/drone
    docker pull drone/drone-runner-docker
    
    #运行
    docker run \
      --volume=/var/lib/drone:/data \
      --env=DRONE_AGENTS_ENABLED=true   \
      --env=DRONE_GITLAB_SERVER=http://192.168.31.103  \
      --env=DRONE_GITLAB_CLIENT_ID=0aa1809a0bdbf1f826acfd112b9d489f074fb9ca633c2e78af9737cba00b76fa \
      --env=DRONE_GITLAB_CLIENT_SECRET=9e84d46335ff0bdd26656d6b7257bc5cb3d81a78904a2f11e7f026f009012ada \
      --env=DRONE_SERVER_HOST=192.168.31.102:3080 \
      --env=DRONE_SERVER_PROTO=http \
      --env=DRONE_TLS_AUTOCERT=false \
      --env=DRONE_LOGS_DEBUG=true \
      -e DRONE_RPC_SECRET=4f3b7f51e3dd678c08cf2d0675c66760 \
      --env=DRONE_USER_CREATE=username:flynn,admin:true \
      -e TZ="Asia/Shanghai" \
      --publish=3080:80 --publish=443:443 \
      --restart=always \
      --detach=true \
      --name=drone \
      drone/drone
      
    docker run -d -v /var/run/docker.sock:/var/run/docker.sock \
    -e DRONE_RPC_PROTO=http \
    -e DRONE_RPC_HOST=192.168.31.102:3080 \
    -e DRONE_RPC_SECRET=4f3b7f51e3dd678c08cf2d0675c66760 \
    -e DRONE_RUNNER_CAPACITY=2 \
    -e DRONE_RUNNER_NAME=${HOSTNAME} \
    -e TZ="Asia/Shanghai" \
    -p 3000:3000 \
    --restart always \
    --name runner \
    drone/drone-runner-docker
    
    

    启动服务server和runner服务是注意:

    DRONE_RPC_SECRET要一致

    DRONE_SERVER_HOST和DRONE_RPC_HOST为droen-server对外访问地址,格式ip:port,ip和port都是宿主机的

    相关文章

      网友评论

          本文标题:Drone与GitLab结合实现自动化部署

          本文链接:https://www.haomeiwen.com/subject/kvzojltx.html