docker安裝gocd-server,并配置gitlab授权登录

gocd的地址:Installing GoCD server on Windows | GoCD User Documentation

gocd文档:GitHub - gocd/docker-gocd-server: Docker server image for GoCD

一、docker拉取gocd镜像

java 复制代码
#拉取server镜像
docker pull gocd/gocd-server:v21.1.0

docker pull gocd/gocd-server:v23.5.0
#拉取agent镜像
docker pull gocd/gocd-agent-alpine-3.12

docker pull gocd/gocd-agent-alpine-3.12

二、创建gocd-server容器,在创建gocd-server的时候还需要安装两个插件,一个是通过将镜像保存到外部的插件,另外一个是使用gitlab登录的插件,这两个插件包是:

docker-registry-artifact-plugin-1.3.0-138.jar

gitlab-oauth-authorization-plugin-2.1.0-205.jar

下面有下载地址,下载完之后,通过挂载的方式挂载到docker,使用dockers -v

java 复制代码
##先下载jar包
https://github.com/gocd/docker-registry-artifact-plugin/releases/download/v1.3.0-138-exp/docker-registry-artifact-plugin-1.3.0-138.jar
https://github.com/gocd-contrib/gitlab-oauth-authorization-plugin/releases/download/v2.1.0-205/gitlab-oauth-authorization-plugin-2.1.0-205.jar
##然后创建目录,这个目录自己随便建
mkdir /root/devops/gocd/plugins
##给这个目录授权,因为gocd在启动的时候会在这个目录里面创建其他目录
chmod 777 /root/devops/gocd/plugins
##然后在/root/devops/gocd/plugins下创建一个external目录
mkdir external
##把前面的两个jar包放到eternal目录下

##然后把创建的目录指定到/godata/plugins这个目录是放插件的地方
docker run -p 8153:8153 --name gocd-server -v /root/devops/gocd/plugins:/godata/plugins -e GOCD_SERVER_PORT=8153 -d gocd/gocd-server:v21.1.0

三、访问gocd-server,地址:http://ip:8153/

四、开始设置gitlab登录

第一步点击"Authorization Configurations"

第二步点击"Add"

第三步Plugin选择"GitLab OAuth authorization plugin"

Id:这里可以随便写,我这里填了"gocd-gitlab"

然后"Authenticate with"选择"GitLab Enterprise"。但是下面这几个填写什么呢?

GitLab Enterprise Base Url:

Application ID:

Client Secret:

Personal Access Token:

第四步:来到gitlab这边

点击头像,选择"Preferences"

在进去之后,点击左边"Applications",然后右边选择"Add new application"

进来之后就是这个页面,Name是可以随便填写的,Redirect URL到底填写什么呢?这里先直接填写gocd的首页地址,比如http://ip:8153。后面再修改。

下面这个Scopes怎么选呢,可以参考这个https://docs.gitlab.com/ee/integration/oauth_provider.html

点击"save"之后,就有了ApplicationID和Secret,保存好,后面要用。

后面还要创建一个access token,点击左边的"Access Tokens",再点击右边"Add new token"

token name可以随便填,expiration date只能选一年,scopes选下图打勾的几个就可以了。

点击保存之后,会生产一个token,这个一定要保存好。gocd要用到。

上面的做完之后,要回到gocd的配置页面,开始配置这几个选项

GitLab Enterprise Base Url:就填写gitlab的首页地址,比如http://ip:80就可以了

Application ID:有了

Client Secret:有了

Personal Access Token:有了

配置好之后,再次进入gocd,已经有gitlab图标了,点击gitlab的图标。

欧尼,报错了。The redirect URI included is not valid.怎么解决呢?

把上面这个地址复制出来,然后粘贴到别的地方,找到redirect_uri这个地方。把这个url复制粘贴到gitlab的Application中的Redirect URL这里。

终于可以了。

相关推荐
Lupino9 小时前
别再只聊 AI 写代码了:技术负责人要把“变更治理”提到第一优先级
python·docker·容器
Java陈序员2 天前
轻量强大!一款现代化的 Kubernetes 集群管理与监控工具!
云原生·容器·kubernetes
Sheffield4 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield4 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽4 天前
win10下运行Start Broker and Proxy报错解决
docker
用户13573999256605 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h5 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔5 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab6 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
天朝八阿哥6 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code