Drone是一個(gè)CI/CD平臺(tái),支持通過(guò)docker來(lái)分發(fā)和使用巡通。Gogs使用介紹Gogs是一款類似Github(國(guó)內(nèi)有碼市)的開源文件/代碼管理系統(tǒng)尘执。
相比使用rancher+gitlabCI的解決方案使用Drone + gogs更輕量級(jí),服務(wù)器資源有限的中小型團(tuán)隊(duì)和個(gè)人開發(fā)者使用是比較好的宴凉。
前提條件:
安裝 Docker誊锭、Docker-Compose,參考本博客之前的文章
創(chuàng)建文件夾
mkdir -p/data/program/drone-ci/gogs-data
mkdir -p /data/program/drone-ci/drone
cd /data/program/drone-ci/
nano docker-compose.yml
docker-compose.yml
mkdir -p/data/program/drone-ci/gogs-data
mkdir -p /data/program/drone-ci/drone
cd /data/program/drone-ci/
nano docker-compose.yml
docker-compose.yml
version: '2'
services:
gogs:
image: gogs/gogs:0.11.53
ports:
- "10081:22” # 這里是有雙引號(hào)的弥锄,gogs ssh端口映射到宿主機(jī)10081
- 10082:3000 # gogs web端口映射到宿主機(jī)10082
volumes:
- /data/program/drone-ci/gogs-data:/data
restart: always
drone-server:
image: drone/drone:0.8.1
ports:
- 10083:8000 # drone web 端口映射到宿主機(jī)10082
- 10084:9000 # drone 服務(wù)端口
volumes:
- /data/program/drone-ci/drone:/var/lib/drone # drone存儲(chǔ)文件映射到宿主機(jī)上
restart: always
environment:
# 開啟注冊(cè)丧靡,此配置允許任何人自注冊(cè)和登錄系統(tǒng)
- DRONE_OPEN=true
# 設(shè)置管理員用戶
- DRONE_ADMIN=admin
# 開啟Gogs驅(qū)動(dòng)
- DRONE_GOGS=true
# Gogs服務(wù)器地址
- DRONE_GOGS_URL=http://宿主機(jī)IP或者域名:10082
# 此SECRET為任意值
- DRONE_SECRET=handhand
- DRONE_HOST=http://宿主機(jī)IP或者域名
# - DRONE_GOGS_SKIP_VERIFY=true
- DRONE_GOGS_PRIVATE_MODE=true
drone-agent:
image: drone/agent:0.8.1
command: agent
restart: always
depends_on: [ drone-server ]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
# Drone Server 地址
- DRONE_SERVER=drone-server:9000
# 與Drone Server一致即可
- DRONE_SECRET=handhand
啟動(dòng)docker-compose
docker-compose up -d
gogs初始化
創(chuàng)建數(shù)據(jù)庫(kù)
gogs可以使用mysql存儲(chǔ),需要提前創(chuàng)建數(shù)據(jù)庫(kù)籽暇,在mysql中創(chuàng)建名為gogs到數(shù)據(jù)庫(kù)温治,字符集為utf8,排序規(guī)則為utf8_general_ci.
首次運(yùn)行安裝向?qū)?http://IP地址:10082
注:
域名:宿主機(jī)IP或者域名
ssh端口號(hào):10081
http端口號(hào):3000(這個(gè)為docker容器內(nèi)監(jiān)聽的端口)
應(yīng)用url: http://宿主機(jī)IP或者域名:10082
可選設(shè)置:
禁用用戶自注冊(cè):內(nèi)部使用,所有賬號(hào)由管理員創(chuàng)建
創(chuàng)建管理員:填寫管理員賬號(hào)密碼