正文
维护简单:
Drone直接复用SCM的账号体系和权限管理,无需注册用户、分配权限,大大简化了维护工作
前置条件:服务器得先安装好Docker(本文不讲述Docker的安装)
在这里,使用Gitlab作为Drone的账号和权限管理,所以首先在你自己的Gitlab服务上面新增一个应用:
记录下此处的应用程序id及密码,后续安装Drone时会使用该ID
#创建共享密钥,用于drone服务和runner之间通信
[root@master application]# openssl rand -hex 16
b63a8848e42f3d96108e04a5fb99f41e
#安装Drone
[root@master application]# docker run \
--volume=/var/lib/drone:/data \
--env=DRONE_GITLAB_SERVER=http://192.168.0.150:9090 \
--env=DRONE_GITLAB_CLIENT_ID=8bae21f3d3c8b5a722ae1aa55c61eb6dbd14d9e1aca9a7f720fb638a3ca4c5ca \
--env=DRONE_GITLAB_CLIENT_SECRET=b0927a462d5c19eae39216483ee7a0d83f8c31e5c7b2011c9bb6a8c976a3cd0b \
--env=DRONE_RPC_SECRET=b63a8848e42f3d96108e04a5fb99f41e \
--env=DRONE_SERVER_HOST=192.168.0.150:7070 \
--env=DRONE_SERVER_PROTO=http \
--env=DRONE_USER_CREATE=username:root,admin:true \
--publish=7070:80 \
--publish=8443:443 \
--restart=always \
--detach=true \
--name=drone \
drone/drone:2
Unable to find image 'drone/drone:2' locally
2: Pulling from drone/drone
79e9f2f55bf5: Pull complete
21e4c61aedb1: Pull complete