主页

索引

模块索引

搜索页面

gitlab实例

创建共享密钥:

共享密钥用于在Drone Server与各Drone Runner间通信认证时使用
$ openssl rand -hex 16
bea26a2221fd8090ea38720fc445eca6

在Gitlab上创建OAuth应用:

右上角头像 -> 设置(setting) -> 应用(Application)
输入框输入下面2个参数:
  1. Application名: 这个可以随便输入为可识别的名字
  2. Redirect URI: 回调地址, 注意这个地址与后面启动服务的地址+/login

创建成功需要记住下面两个值:
Application ID和Secret的值, 后面会用到

说明:

docker run \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  --volume=/var/lib/drone:/data \
  --env=DRONE_GIT_ALWAYS_AUTH=false \   # 用于在clone公共项目时认证,只有在自托管的Gitlab且启用私有模式时才启用
  --env=DRONE_GITLAB_SERVER={your-gitlab-url} \  # gitlab 的 URL
  --env=DRONE_GITLAB_CLIENT_ID={your-gitlab-applications-id} \  # GitLab的Application中的id
  --env=DRONE_GITLAB_CLIENT_SECRET={your-gitlab-secret} \       # GitLab的Application中的secret
  --env=DRONE_RPC_SECRET=${DRONE_RPC_SECRET} \        # Server与Runner通信所要密钥,前面用openssl得到的32字串
  --env=DRONE_SERVER_HOST={your-drone-url} \    # drone 的URl
  --env=DRONE_SERVER_PROTO=http \               # Drone Server服务的协议
  --env=DRONE_TLS_AUTOCERT=false \
  --env=DRONE_USER_CREATE=username:{username},admin:true \   # Drone的管理员
  --publish=8000:80 \
  --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1.1

实例:

docker run \
  --volume=/var/lib/drone:/data \
  --env=DRONE_AGENTS_ENABLED=true \
  --env=DRONE_GITLAB_SERVER=http://gitlab.zhaoweiguo.com \
  --env=DRONE_GITLAB_CLIENT_ID=d6cffd9d9d91a6d2a0ad7xxxxx1b3c12d246ca3c39e1 \
  --env=DRONE_GITLAB_CLIENT_SECRET=94da807ea2eae55599aexxxxx840ba1ddd37314fb611bf \
  --env=DRONE_RPC_SECRET=bea26a2221fxxxxx38720fc445eca6 \
  --env=DRONE_SERVER_HOST=drone.zhaoweiguo.com:7080 \
  --env=DRONE_SERVER_PROTO=http \
  --env=DRONE_USER_CREATE=username:zhaoweiguo,admin:true \
  --publish=7080:80 \
  --publish=7443:443 \
  --restart=always \
  --detach=true \
  --name=drone2 \
  drone/drone:1

主页

索引

模块索引

搜索页面