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镜像

#拉取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

##先下载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/

docker安裝gocd-server,并配置gitlab授权登录_第1张图片

四、开始设置gitlab登录

第一步点击“Authorization Configurations”

docker安裝gocd-server,并配置gitlab授权登录_第2张图片

第二步点击“Add”

docker安裝gocd-server,并配置gitlab授权登录_第3张图片

第三步Plugin选择“GitLab OAuth authorization plugin”

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

docker安裝gocd-server,并配置gitlab授权登录_第4张图片

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

GitLab Enterprise Base Url:

Application ID:

Client Secret:

Personal Access Token:

docker安裝gocd-server,并配置gitlab授权登录_第5张图片

第四步:来到gitlab这边docker安裝gocd-server,并配置gitlab授权登录_第6张图片

点击头像,选择“Preferences”

docker安裝gocd-server,并配置gitlab授权登录_第7张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第8张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第9张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第10张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第11张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第12张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第13张图片

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

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

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

Application ID:有了

Client Secret:有了

Personal Access Token:有了

docker安裝gocd-server,并配置gitlab授权登录_第14张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第15张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第16张图片

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

docker安裝gocd-server,并配置gitlab授权登录_第17张图片

docker安裝gocd-server,并配置gitlab授权登录_第18张图片

docker安裝gocd-server,并配置gitlab授权登录_第19张图片

终于可以了。

你可能感兴趣的:(devops,docker,gitlab,容器)