Jenkins之Java微服务编译任务配置流程

文章目录

一、需求背景

二、编译任务构建配置

 1、新建item

2、配置编译任务项目安全

3、配置编译任务构建策略

4、配置构建参数选项

5、配置构建源码​编辑

6、配置构建触发器​编辑

7、配置构建工具

8、配置构建脚本


一、需求背景

统一各环境业务微服务构建流程,提高CICD成功率以及时效性

二、编译任务构建配置

 1、新建item

按需选择构建任务模板类型

2、配置编译任务项目安全

授权当前构建任务相关用户组/用户所需权限

3、配置编译任务构建策略

合理的构建策略可用于更好的项目复盘

4、配置构建参数选项

配置构建环境布尔参数

auto_deploy_test #自动部署到TEST环境

auto_deploy_uat #自动部署到UAT环境

auto_deploy_pre #自动部署到PRE环境

auto_deploy_prod #自动部署到生产环境

up_pro_img #上传到生产环境镜像服务器

配置构建分支Git参数:

branch

配置构建服务布尔参数:

构建服务选项:

xxxx_svr

5、配置构建源码

6、配置构建触发器

7、配置构建工具

使用开发环境相同maven版本,避免版本差异问题。

clean package -U -Dmaven.test.skip=true -e

8、配置构建脚本

#!/bin/bash
#jenkins自动化构建并部署到k8s脚本
set -x
#VERSION=`mvn help:evaluate -Dexpression=project.version | grep "^[^\[]"`
VERSION=1.0.0.RELEASE
set +x
echo "version:$VERSION"

tag=$VERSION`date +%Y%m%d%H%M`
#tag=$VERSION
echo "tag:$tag"


#jenkins_job=bladex-svr-x.x
#workspace=/var/lib/jenkins/jobs/$jenkins_job/workspace 
#本次提交代码更新产生的日

#harbor
harbor_name=xxxxxx
harbor_passwd=xxxxxx
harbor_url=harbor.xxxx.tech
 
harbor_name_pro=xxxx@aliyun.com
harbor_passwd_pro=xxxx
harbor_url_pro=registry.cn-shenzhen.aliyuncs.com

#deploy_dir=/root/data/k8s/bladex3.1

 
#私有仓库地址和库名
harbor=harbor.xxxx.tech/k8s
harbor_pro=registry.cn-shenzhen.aliyuncs.com/xxxx



if [ $axxx_svr = true ] 
then 
    build_project="$build_project"" axxx-svr"
    
fi 

if [ $bxxx_svr = true ] 
then 
    build_project="$build_project"" bxxx-svr"
   
fi 

if [ $cxxx_svr = true ] 
then 
    build_project="$build_project"" cxxx-svr"

fi


echo "build_project:$build_project"  
for project in $build_project
do
#本次构建image用的TAG
    echo "$project项目更新需要重新创建docker image"
    echo "编译项目分支:$branch"
    
	image=$harbor/$project:$tag
    image_pro=$harbor_pro/$project:$tag
    
    echo "镜像:$image"
	#部署配置文件名
    echo "项目目录:$workspace"
	#deploy_file=$project.yaml 
	dockerfile=$(find $workspace -name $project)
	#dockerfile 绝对文件路径
    
	#构建image
	docker build -t $image $dockerfile/. 
    #docker build -t $image  -f  $dockerfile/Dockerfile2  $dockerfile/.
	echo "$image 构建成功"
	sleep 2
    
	echo "上传$image 到Harbor私有仓库"
	docker login -u$harbor_name -p$harbor_passwd $harbor_url >/dev/null 2>&1
	docker push $image
    sleep 3
    
	echo "是否上传镜像到生产镜像服务器: $up_pro_img"    
    if [[ $up_pro_img = true ]] 
    # && [[ $branch == "master" ]] 
    then 
      docker tag $image $image_pro
      echo "上传$image_pro 到Harbor外网仓库"
	  docker login -u$harbor_name_pro -p$harbor_passwd_pro $harbor_url_pro >/dev/null 2>&1 
	  docker push $image_pro 
    fi
    
    echo "是否部署镜像到uat k8s环境: $auto_deploy_uat"
    if [ $auto_deploy_uat == "true" ]
    then
      #部署到开发k8s环境	  #更新deployment中的image
	  echo "正在部署 $project 到uat环境的k8s集群中........................................."
	  #远程连接到k8s-master更新服务
sudo ssh root@xxx.xxx.1.1 > /dev/null 2>&1 << EOF
kubectl set image  -n  bladex3-uat deployment/$project $project=$image 
exit
EOF
    fi 
done
	#删除本地构建的镜像
	echo "删除$image" 
	docker rmi $image
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Amos.Sun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值