curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://b2339ee9.m.daocloud.io
systemctl restart docker
docker pull gocd/gocd-server:v17.12.0
启动gocd-server镜像:官方
- 简单启动
docker run --name gocd-server -d -p 8153:8153 -p 8154:8154 gocd/gocd-server:v17.12.0
- 使用环境变量可以安装指定插件
docker run \
-e GOCD_PLUGIN_INSTALL_a-plugin=https://example.com/a-plugin.jar \
-e GOCD_PLUGIN_INSTALL_b-plugin=https://example.com/b-plugin.jar \
gocd/gocd-server:v17.12.0
- 使用自定义脚本安装插件
mkdir -p /godata/plugins/external
curl --location --fail https://example.com/plugin.jar > /path/to/godata/plugins/external/plugin.jar
chown -R 1000 /godata/plugins/external
- 执行自定义的entrypoint脚本
docker run -v /path/to/your/script.sh:/docker-entrypoint.d/your-script.sh ... gocd/gocd-server:v17.12.0
- 安装addons扩展
mkdir -p /path/to/godata/addons
curl --location --fail https://example.com/addon.jar > /path/to/godata/addons/plugin.jar
chown -R 1000 /path/to/godata/addons
- 命令行解析ip地址
docker inspect --format='{{(index (index .NetworkSettings.IPAddress))}}' server
docker inspect --format='{{(index (index .NetworkSettings.Ports "8153/tcp") 0).HostPort}}' server
docker inspect --format='{{(index (index .NetworkSettings.Ports "8154/tcp") 0).HostPort}}' server
- 挂载和目录
目录 | 说明 |
---|---|
/godata | configuration, pipeline history database, artifacts, plugins, and logs |
/godata/addons | addons |
/godata/artifacts | artifacts |
/godata/config | configuration |
/godata/db | database and configuration change history |
/godata/logs | logs |
/godata/plugins | plugins |
/home/go | gocd服务执行用户,可以挂载此目录提供SSH私密证书 |
docker pull gocd/gocd-agent-centos-7
启动agent镜像:官方
- 简单启动
docker run -d -e GO_SERVER_URL=... gocd/gocd-agent-centos-7:v17.12.0
Note:
GO_SERVER_URL
是一个/go
结尾的url,如:https://ip.add.re.ss:8154/go
- 根据本地的gocd-server部署
docker run -itd -e GO_SERVER_URL=https://$(docker inspect --format='{{(index (index .NetworkSettings.IPAddress))}}' gocd-server):8154/go gocd/gocd-agent-centos-7:v17.12.0
或者
docker run -itd -e GO_SERVER_URL=https://<ip_of_host_machine>:$(docker inspect --format='{{(index (index .NetworkSettings.Ports "8154/tcp") 0).HostPort}}' angry_feynman)/go gocd/gocd-agent-centos-7:v17.12.0
- 自动注册agent
docker run -d \
-e AGENT_AUTO_REGISTER_KEY=... \
-e AGENT_AUTO_REGISTER_RESOURCES=... \
-e AGENT_AUTO_REGISTER_ENVIRONMENTS=... \
-e AGENT_AUTO_REGISTER_HOSTNAME=... \
gocd/gocd-agent-centos-7:v17.12.0
Note: 如果
AGENT_AUTO_REGISTER_KEY_*
变量提供,代理将自动被服务核准。详情参见自动注册文档
-
挂载和目录:同服务器版本相同