drone部署
下載鏡像
docker pull drone/drone:2.0.2
生成共享密鑰
openssl rand -hex 16
運行drone
docker run -td --name=drone \
-p 9080:80 \
-p 9443:443 \
--restart=always \
-v /data/dockerMount/drone:/data \
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_SERVER_PROTO=http \
--env=DRONE_SERVER_HOST= {drone的域名或者ip}\
--env=DRONE_GITLAB_SKIP_VERIFY:true \
--env=DRONE_GITLAB_SERVER={gtilab的域名或者ip} \
--env=DRONE_GITLAB_CLIENT_ID={gitlab客戶端id} \
--env=DRONE_GITLAB_CLIENT_SECRET={gitlab密鑰} \
--env=DRONE_RPC_SECRET={共享密鑰} \
drone/drone:2.0.2
運行runner
- 在部署了drone之后還需要runner來運行任務(wù)
部署ssh-runner
docker run -d \
-p 9300:3000 \
--restart always \
--name ssh-runner \
-e DRONE_DEBUG=true \
-e DRONE_RPC_PROTO=http \
-e DRONE_RPC_HOST={drone的域名} \
-e DRONE_RPC_SECRET={共享密鑰} \
drone/drone-runner-ssh
部署docker-runner
docker run -d \
--restart always \
--name docker-runner \
-p 9301:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DRONE_RPC_PROTO=http \
-e DRONE_RPC_HOST={drone的域名}\
-e DRONE_RPC_SECRET={共享密鑰} \
-e DRONE_RUNNER_CAPACITY=2 \
-e DRONE_RUNNER_NAME=docker-runner \
drone/drone-runner-docker
.drone.yml
kind: pipeline
type: docker #docker runner來執(zhí)行
name: maven-build #該通道名稱
#指定分支
trigger:
branch:
- dev
#主機掛載位置
volumes:
- name: maven
host:
path: /data/dockerMount/maven/
- name: projects
host:
path: /data/projects
steps:
- name: 項目構(gòu)建
image: maven:3.8-openjdk-11
volumes:
- name: maven
path: /root/.m2
- name: projects
path: /root/projects
commands:
# sh 命令
---
kind: pipeline
type: ssh #使用ssh通道
name: image-push
#取消git clone代碼
clone:
disable: true
#指定在其他通道完成之后之執(zhí)行本通道
depends_on:
- maven-build
trigger:
branch:
- dev
#要連接的服務(wù)器
server:
host: ip地址
user: root
password:
from_secret: 在drone中存的密碼
steps:
- name: 構(gòu)建鏡像
commands:
#sh命令
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。