jenkins+gitlab+maven+harbor+rancher全套

断断续续花了块一个月终于弄完了,我搞的整个流程是这样的:

整个流程很粗暴,没加回滚判断那些东西,暂时用不着后面再加。

jenkins到gitlab+maven

这三部分对java来说算是一整个部分,所以一起说。在jenkins中先安装这几个插件:

接下来配置全局工具:

点下新增maven就行了,点完以后去maven的根目录下找到maven,改下setting.xml改下镜像地址,我这的setting地址是/tools/hudson.tasks.Maven_MavenInstallation/maven-3.6.3/conf。

然后去gitlab创建一个用户,需要赋予这个用户开发权限和项目权限,这个用户是给jenkins访问gitlab代码用的:

图里这个jenkins_bot就是我建了给jenkins访问gitlab拉代码用的,接下来回到jenkins,新建项目:

这个地方选项很多,选哪个都能做,我选的maven。点击确定,然后开始配置gitlab:

在验证那个地方点击添加:

用户名密码写刚才在gitlab上配置的jenkins用的用户密码,其他随便填,添加完以后再填上要从哪个分支拉代码,我这填的是dev。接下来配置触发器,就是当上传代码时触发jenkins去拉代码的钩子:

框里的url下面会用到,点高级,复制这个token:

好接下来切换到gitlab,按下面的图来:

这个是在项目下的设置,URL就填上面一步jenkins里的url,token就填上面一步里的token,然后往下拉:

把SSL点掉然后新增就行了,回到jenkins直接点保存:

好,这样上传相应分支的代码就会触发jenkins的maven构建了,关于maven打的jar包位置是可以指定的,如果不指定就会默认在jenkins根目录的/workspace下,这里要注意下是因为一会打镜像的时候要用到jar包和dockerfile位置。

jenkins到harbor

其实就是执行了个shell

#!/bin/bash
#获取镜像id
imagesid=`docker images|grep -i docker-harbor|awk '{print $3}'`
project=/var/jenkins_home/workspace/java-test/target/
#dockerid=`docker ps -a|grep -i docker-test|awk '{print $1}' `
echo $project
#判断镜像是否存在如果存在则删除,否则不删除
if  [ ! -n "$imagesid" ];then
   echo $imagesid "is null"
else
    docker rmi -f $imagesid 
fi
#进入工作目录
cd $project

cp ../Dockerfile ./
#生成新的镜像

docker build -t java-test .

#登录docker仓库 
docker login -u jenkins_bot -p ccccc 192.168.18.18:6666

#上传镜像到镜像仓库

docker tag java-test 192.168.18.18:6666/a-test/java-test:v0.0.1

docker push 192.168.18.18:6666/a-test/java-test:v0.0.1

非常粗暴,连key都不用,直接明文登录harbor,harbor用户也是要新增一个jenkins用的,分配权限、分配项目。

这样就可以推到harbor了。

jenkins到rancher

首先打开rancher,点击API/KEYS,创建个给jenkins使用的用户:

点击添加key,描述写个jenkins用就行:

一定要保存好别丢了:

然后来到jenkins,安装插件,搜rancher会出来两个,2.0以后的rancher用这个:Redeploy Rancher2.x Workload Plugin

接下来去创建连接rancher的凭证,其实可以直接在这个maven构建项目里加,在哪加都一样:

endpoint填在rancher那边生成的API地址,token也填那个token,填完点右下角测试连接,没问题确定添加完成,回到刚才jenkins的maven项目:

工作负载api地址在rancher里看:

点击以后出现这样,这里只用action里的就可以:

其实就是暂停啊回滚啊重新部署之类的,这里我只用重新部署就行了,把redeploy后面那个url粘过去,去掉/v3。

需要更新的镜像就是镜像名,上面在shell命令里push的那个镜像名。

注意这个地方有的jenkins版本有问题,秘钥那个地方没东西显示,感觉是个BUG,可以看看这个热心兄弟写的:https://blog.csdn.net/baidu_39478047/article/details/108485528

这一步完成以后点确定就可以开始构建了。

搞完了

搞的非常简单粗暴,原则是能用就行,反对过度优化。

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值