1、安装mysql自行安装
2、安装Gogs自行安装
3、安装drone/drone
docker run -d\
--volume=/var/lib/drone:/data \
--env=DRONE_DEBUG=true\
--env=DRONE_LOGS_TRACE=true\
--env=DRONE_LOGS_DEBUG=true\
--env=DRONE_LOGS_PRETTY=true\
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GIT_ALWAYS_AUTH=true \
--env=DRONE_RPC_SECRET=bca6ae9c4bc3022eb59f19642167068b \
--env=DRONE_SERVER_HOST=192.168.0.21:10080 \ #Drone启动路径
--env=DRONE_SERVER_PROTO=http \
--env=DRONE_GOGS_SERVER=http://192.168.0.21:3000 \ #Gogs启动路径
--env=DRONE_USER_CREATE=username:wangjinzhi,admin:true \
##### 注意 这里的username一定要对应gogs的username
--publish=10080:80 \
--publish=10443:443 \
--restart=always \
--detach=false \
--name=drone \
drone/drone
4、安装drone-runner-ssh
drone-runner-ssh 命令
docker run -d \
-e DRONE_RPC_PROTO=http \
-e DRONE_RPC_HOST=192.168.0.21:10080 \ #Drone启动路径
-e DRONE_RPC_SECRET=bca6ae9c4bc3022eb59f19642167068b \
-e DRONE_DEBUG=true \
-p 10081:3000 \
--restart always \
--name ssh-runner \
drone/drone-runner-ssh
5、安装drone-runner-docker
drone-runner-docker 命令
docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DRONE_RPC_PROTO=http \
-e DRONE_RPC_HOST=192.168.10.251:10080 \ #Drone启动路径
-e DRONE_RPC_SECRET=bca6ae9c4bc3022eb59f19642167068b \
-e DRONE_RUNNER_CAPACITY=2 \
-e DRONE_RUNNER_NAME=docker-runner \
-e DRONE_DEBUG=true \
-p 10082:3000 \
--restart always \
--name docker-runner \
drone/drone-runner-docker
6、.drome.yml
kind: pipeline
type: ssh # 使用SSH
name: default
server:
host: 192.168.0.21
user: root
password: Elang111111
# 自定义clone
clone:
disable: true
trigger:
branch:
- master
event:
- push
steps:
- name: clone
commands:
- rm -rf /data/www/wwwroot/src/demo1
- cd /data/www/wwwroot/src/
- git clone http://192.168.0.21:3000/wangjinzhi/demo1.git
- name: build
environment:
CGO_ENABLED: 0 # 使用alpine镜像需禁用CGO 或使用 -tags netgo, 实现静态编译
GO111MODULE: on
GOPROXY: https://goproxy.cn
commands:
- cd /data/www/wwwroot/src/demo1
- go mod tidy
- kill -9 $(lsof -i:8000 -t) #杀掉对应端口进程
- go run main.go
8、drone设置,更新项目
9、一定要用管理员登陆