-
Notifications
You must be signed in to change notification settings - Fork 8
20190823_install drone with gitlab in 10 minutes
Shawn Wang edited this page Dec 3, 2019
·
1 revision
title: "用 10 分鐘安裝好 Drone 搭配 GitLab" date: 2019-08-23 type: blog author: AppleBoy link: https://blog.wu-boy.com/2019/08/install-drone-with-gitlab-in-10-minutes/ layout: post comments: true
如果你沒在使用 GitLab CI,那可以來嘗試看看 Drone CI/CD,用不到 10 分鐘就可以快速架設好 Drone,並且上傳一個 .drone.yml
並且開啟第一個部署或測試流程,安裝步驟非常簡單,只需要對 Docker 有基本上的了解,通常都可以在短時間完成 Drone CI/CD 架設。
更多實戰影片可以參考我的 Udemy 教學系列
- Go 語言實戰課程: http://bit.ly/golang-2019
- Drone CI/CD 自動化課程: http://bit.ly/drone-2019
用 docker-compose 可以快速設定 Drone Server
services:
drone-server:
image: drone/drone:1
ports:
- 8081:80
volumes:
- ./:/data
restart: always
environment:
- DRONE_SERVER_HOST=${DRONE_SERVER_HOST}
- DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO}
- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
- DRONE_AGENTS_ENABLED=true
# Gitlab Config
- DRONE_GITLAB_SERVER=https://gitlab.com
- DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID}
- DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET}
- DRONE_LOGS_PRETTY=true
- DRONE_LOGS_COLOR=true
只要在 docker-compose.yml
底下新增 .env
檔案,將上面的變數值填寫進去即可
雖然 drone 在 1.0 提供單機版,也就是 server 跟 agent 可以裝在同一台,但是本篇教學還是以分開安裝為主,對未來擴充性會更好。
drone-agent:
image: drone/agent:1
restart: always
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_SERVER=http://drone-server
- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
- DRONE_RUNNER_CAPACITY=3
完整的設定檔可以參考這邊。
-
在 docker-in-docker 環境中使用 cache-from 提升編譯速度 (5)
-
用 Traefik 搭配 Docker 快速架設服務 (1)
-
Drone CI/CD 推出 Cloud 服務支援開源專案 (4)
-
開源專案 Gitea 支援 OAuth Provider (1)
-
Ansible 設定 Google Container Registry 搭配 Drone 自動上傳 (0)
-
Drone 支援單機版安裝 (內附影片) (0)
-
Drone 自動觸發 GitLab CI 或 Jenkins 任務 (4)
-
為什麼我用 Drone 取代 Jenkins 及 GitLab CI (10)
-
用 Ansible 安裝 Drone CI/CD 開源專案 (0)
-
Drone CI/CD 支援 Auto cancellation 機制 (0)