Drone 安装教程
一、 CentOS设置
1. 更换阿里源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
2. 安装网络工具
yum install net-tools -y
3. 使用阿里NTP服务
yum install chrony -y
sed -i "/server/d" /etc/chrony.conf
vi /etc/chrony.conf # 增加 server ntp.aliyun.com iburst
systemctl restart chronyd
chronyc tracking
4. 开启防火墙
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
二、 安装Docker-CE
1. 安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2. 设置仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. 安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
4. 启动Docker
sudo systemctl start docker
5. 开机自启动
sudo systemctl enable docker
6. 设置加速器
vi /etc/docker/daemon.json # 添加如下内容
{
"registry-mirrors": ["https://harbor.vip56.cn"]
}
sudo systemctl restart docker
三、 安装Drone
1. 下载镜像包
docker pull drone/drone:1
2. 启动指令
docker run
--volume=/var/run/docker.sock:/var/run/docker.sock
--volume=/etc/certs/drone.vip.cn/server.crt:/etc/certs/drone.vip.cn/server.crt
--volume=/etc/certs/drone.vip.cn/server.key:/etc/certs/drone.vip.cn/server.key
--env=DRONE_GIT_ALWAYS_AUTH=false
--env=DRONE_GITLAB_SERVER=https://gitlab.vip56.cn
--env=DRONE_GITLAB_CLIENT_ID=****
--env=DRONE_GITLAB_CLIENT_SECRET=****
--env=DRONE_RUNNER_CAPACITY=8
--env=DRONE_SERVER_HOST=drone.vip.cn
--env=DRONE_SERVER_PROTO=https
--env=DRONE_TLS_AUTOCERT=false
--env=DRONE_TLS_CERT=/etc/certs/drone.vip.cn/server.crt
--env=DRONE_TLS_KEY=/etc/certs/drone.vip.cn/server.key
--env=DRONE_RPC_SECRET=c7ffe09g62bb3b5205ecdc3b10g1e40f95
--env=DRONE_DATABASE_DRIVER=postgres
--env=DRONE_DATABASE_DATASOURCE=postgres://postgres:******@192.168.1.202:5432/drone?sslmode=disable
--publish=80:80
--publish=443:443
--restart=always
--detach=true
--name=drone
--add-host gitlab.vip.cn:192.168.1.53
drone/drone:1
注意其中 –add-host 由于没有使用DNS服务器所以需要增加对应host。以上启动得为主节点,如果实际对构建得并行度
要求较高,可以考虑部署多个构建代理进行分担。
docker run
--volume=/var/run/docker.sock:/var/run/docker.sock
--env=DRONE_RPC_SERVER=https://drone.vip.cn
--env=DRONE_RPC_SECRET=****
--env=DRONE_RUNNER_CAPACITY=4
--restart=always
--detach=true
--name=agent
drone/agent:1.0.0