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

终于可以了。

相关推荐
正经教主8 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
鹤鸣的日常9 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
我是谁??13 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
starvapour13 小时前
Ubuntu部署gitlab频繁出现502的问题
linux·ubuntu·gitlab
运维瓦工13 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
云烟成雨TD13 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
Plastic garden13 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes
与海boy14 小时前
docker compose minio
docker·容器·eureka
JimCarter14 小时前
使用Azure Devops Pipeline将Docker应用部署到你的Raspberry Pi上
docker·azure·树莓派·devops·orangepi·香橙派·raspberrypi