赞
踩
本文主要说明如何使用 pipeline 为 exec 类型时,只需要执行自定义bash脚本,或几句简单的bash命令完成自己的CD。
docker run --volume=/var/lib/drone:/data --env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GITLAB_SERVER=${gitlab.yoururl.com} \
--env=DRONE_GITLAB_CLIENT_ID=${gitlab中的client id} \
--env=DRONE_GITLAB_CLIENT_SECRET=${gitlab中的client secret} \
--env=DRONE_RPC_SECRET=${自定义 secret} \
--env=DRONE_SERVER_HOST=${drone.yoururl.com} \
--env=DRONE_SERVER_PROTO=http \
--env=DRONE_TLS_AUTOCERT=false --env=DRONE_LOGS_DEBUG=true \
--env=DRONE_USER_CREATE=username:root,admin:true \
--publish=8881:80 --restart=always --detach=true --name=drone drone/drone:1
配置Agent
docker run -d -v /var/run/docker.sock:/var/run/docker.sock \
-e DRONE_RPC_PROTO=http \
-e DRONE_RPC_HOST=${drone.yoururl.com} \
-e DRONE_RPC_SECRET=${自定义 secret 与 上面对应} \
-e DRONE_RUNNER_CAPACITY=1 \
-e DRONE_RUNNER_NAME=${agent 名称} \
-p 3000:3000 \
--restart always --name runner drone/agent:1
到此,Drone 与 Gitlab 的配置已经配置完成。
这是一个实例的 yml 文件。
kind: pipeline type: exec name: deployment platform: os: linux arch: amd64 steps: - name: backend image build commands: - echo start build images... - export MAJOR_VERSION=1.0.rtm. - export BUILD_NUMBER=$DRONE_BUILD_NUMBER - export WORKSPACE=`pwd` - bash ./build.sh when: branch: - master
如果我们仅仅只是配置了 drone + agent ,在 drone 执行这个yml文件的时候,一定会卡pending。
curl -L https://github.com/drone-runners/drone-runner-exec/releases/latest/download/drone_runner_exec_linux_amd64.tar.gz | tar zx
sudo install -t /usr/local/bin drone-runner-exec
touch /etc/drone-runner-exec/config
vim /etc/drone-runner-exec/config
将这些变量保存到config中:
DRONE_RPC_PROTO=http
DRONE_RPC_HOST=drone.yoururl.com
DRONE_RPC_SECRET=之前部署时的自定义secret
drone-runner-exec service install
drone-runner-exec service start
# 停止可以使用
drone-runner-exec service stop
现在 Drone 就可以执行自定以的bash命令了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。