部署gitlab
参考
部署drone

# ip:xxxxxxxx ci-build
### docker-compose.yml
#测试成功,附带mysql
version: "2.1"
services:
drone-server:
image: drone/drone:1
ports:
- 443:443
- 80:80
volumes:
- /var/lib/drone:/data
restart: always
depends_on:
- mysql
environment:
- DRONE_DATABASE_DATASOURCE=/var/lib/drone/drone.sqlite
- DRONE_DATABASE_DRIVER=sqlite3
- DRONE_DATABASE_DRIVER=mysql
- DRONE_DATABASE_DATASOURCE=root:root@tcp(ci_mysql:3306)/drone?parseTime=true
- DRONE_AGENTS_ENABLED=true
- DRONE_LOGS_DEBUG=true
- DRONE_GIT_ALWAYS_AUTH=false
- DRONE_GITLAB_SERVER=http://192.168.10.54:8083/ # gitlab服务器地址
- DRONE_GITLAB_CLIENT_ID=ea11d55c67c47043d409d90a14fce1043f82231b45809b30a3f5bc0cee711bf7 # application ID
- DRONE_GITLAB_CLIENT_SECRET=b4846990c58ffb5ce494e697a1c09225edf3025c5275ee527b32157a0e1b2e83 # Secret
- DRONE_RPC_SECRET=e349d16fa70e27bdd1043c1ec3d83478 # 为server和agent设置一个统一识别码 随便输,但必须前后一致
- DRONE_USER_CREATE=username:root,admin:true # 为drone的settings添加Trued username是gitlab用户名 admin默认为true
- DRONE_RUNNER_CAPACITY=3
- DRONE_SERVER_HOST=192.168.10.202 # drone服务器地址
- DRONE_SERVER_PROTO=http
- DRONE_TLS_AUTOCERT=false
networks:
- ci_net
drone-agent:
image: drone/drone-runner-docker:1
restart: always
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
environment:
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=192.168.10.202 # 服务器地址
- DRONE_RPC_SECRET=e349d16fa70e27bdd1043c1ec3d83478
- DRONE_RUNNER_CAPACITY=3
- DRONE_RUNNER_NAME=ip # runner名字 默认为服务器ip
- DRONE_LOGS_TRACE=true
networks:
- ci_net
mysql:
restart: always
image: mysql:5.7.16
container_name: ci_mysql
command: --default-authentication-plugin=mysql_native_password #这行代码解决无法访问的问题
volumes:
- ./mydir:/mydir
- ./datadir:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
# 数据库还原目录 可将需要还原的sql文件放在这里
- /docker/mysql/source:/docker-entrypoint-initdb.d
environment:
- "MYSQL_ROOT_PASSWORD=root"
- "MYSQL_DATABASE=drone"
- "TZ=Asia/Shanghai"
networks:
- ci_net
ports:
- 3307:3306
networks:
ci_net:
driver: bridge
View Code