docker部署drone

drone部署

下載鏡像

docker pull drone/drone:2.0.2

生成共享密鑰

  • 使用openssl生成密鑰
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的進程
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ù)。

推薦閱讀更多精彩內(nèi)容