cicd平台,升级gitlab带来的一些配置、接口变化

9 篇文章 0 订阅
1 篇文章 0 订阅

       gitlab软件版本需要从GitLab Community Edition 8.9.11升级到GitLab Community Edition 12.10.11,记录下本次升级所做的改动以及遇到的坑。

       涉及到的各个服务见下图:

1. 版本跨度太大,没有采用软件更新升级的方式;同样也没有采用备份/还原的方式。

2. 安装部署了一新的gitlab服务器,从旧gitlab服务器迁移项目到新gitlab服务器。

3. 更新"通过API方式访问gitlab"的认证方式和接口版本

  • api接口版本从v3升级到v4

  • 认证方式从"private token"切换成“Impersonation Token”

  • 改动代码

访问gitlab服务的第三方库,是用的 "github.com/xanzy/go-gitlab",golang的库管理用的是dep,需要更新库版本

到工程项目的目录下,修改Gopkg.toml

[[constraint]]
  name = "github.com/xanzy/go-gitlab"
  version = "0.30.0"

然后执行 dep ensure

4. Jenkins凭据以及ssh公钥拷贝到gitlab服务器

      将jenkins服务器上的ssh公钥拷贝到新部署的gitlab服务器某个用户名下,注意,这个公钥关联的gitlab用户,有访问哪个组或者哪个项目的权限,jenkins服务器才可以git clone相关项目的代码。

      新配置凭据

5. 修改原有的jenkins job配置

     考虑到将来还有可能升级、迁移gitlab服务器,统一用域名:git.xxx.com的方式部署访问gitlab;后续,只需要运维更改域名解析,就可以平滑迁移到新部署的gitlab服务器。

     这样就需要修改已经在构建部署中的jenkins jobs,将原来的gitlab ip地址替换成现有的域名。由于涉及的项目众多,手工改工作量大,查询了些资料,通过下面的脚本可以实现。

#!/bin/bash

mydir=`pwd`
jobdir='jobs'
rootdir='/root/.jenkins/jobs/'
jenkinsclijar='/opt/jenkins/jenkins-cli.jar'

cd $rootdir
for proName in *
    do
    if [ $proName != "basic-service-stable" ] && [ $proName != "ccp" ] && [ $proName != "base" ]; then
        cd $rootdir
        cd $proName
        echo "do modify gitlab ip(192.168.1.249) to git.xxx.com in project" $proName


        if [ -d $jobdir ]; then
            cd ./$jobdir
            echo 'current dir is '`pwd`
            echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-"    

            for job in *
            do
                if [ $job != "xxx-test" ]; then
                   confxml=$job/config.xml
                   if [ -e $confxml ]; then
                       echo "modify job xml: "$confxml
                       sed -i 's/192.168.1.249/git.xxx.com/' $confxml
                       java -jar $jenkinsclijar -s http://192.168.104.179:8080/ -auth admin:adminxxx  reload-job $proName/$job
                   fi
                fi
            done

        fi
    fi

    echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-"    

done

cd $mydir

      ​​​​​

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值