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这里。

终于可以了。

相关推荐
**AE86**1 小时前
redis6.2docker镜像构建
docker·容器
火箭统3 小时前
Docker commit基于容器创建自定义PyTorch镜像
docker· pytorch· cuda
怀川3 小时前
开源 NamBlog:一个博客外壳下的体验编译器
docker·ai·.net·博客·ddd·graphql·mcp
人鱼传说4 小时前
【N8N数据转换:MQTT-MYSQL】
docker
❀͜͡傀儡师6 小时前
docker部署filebrowser轻量级个人云盘
运维·docker·容器
BigBigHang7 小时前
【docker】ollama的docker-compose及一些启动踩坑
运维·docker·容器
不想画图8 小时前
Kubernetes(一)——认识Kubernetes
云原生·容器·kubernetes
小蜗牛的路8 小时前
docker MySQL容器导入sql文件
sql·mysql·docker
互联网哪些事情8 小时前
Docker 部署项目到云服务器完整步骤
docker·服务器部署docker·云主机部署docker
Amy_au9 小时前
Building a Containerised Backend with Docker Compose
运维·docker·容器