当前位置:   article > 正文

Jenkins之Java微服务编译任务配置流程_jenkins 部署java微服务

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、配置构建脚本

  1. #!/bin/bash
  2. #jenkins自动化构建并部署到k8s脚本
  3. set -x
  4. #VERSION=`mvn help:evaluate -Dexpression=project.version | grep "^[^\[]"`
  5. VERSION=1.0.0.RELEASE
  6. set +x
  7. echo "version:$VERSION"
  8. tag=$VERSION`date +%Y%m%d%H%M`
  9. #tag=$VERSION
  10. echo "tag:$tag"
  11. #jenkins_job=bladex-svr-x.x
  12. #workspace=/var/lib/jenkins/jobs/$jenkins_job/workspace
  13. #本次提交代码更新产生的日
  14. #harbor
  15. harbor_name=xxxxxx
  16. harbor_passwd=xxxxxx
  17. harbor_url=harbor.xxxx.tech
  18. harbor_name_pro=xxxx@aliyun.com
  19. harbor_passwd_pro=xxxx
  20. harbor_url_pro=registry.cn-shenzhen.aliyuncs.com
  21. #deploy_dir=/root/data/k8s/bladex3.1
  22. #私有仓库地址和库名
  23. harbor=harbor.xxxx.tech/k8s
  24. harbor_pro=registry.cn-shenzhen.aliyuncs.com/xxxx
  25. if [ $axxx_svr = true ]
  26. then
  27. build_project="$build_project"" axxx-svr"
  28. fi
  29. if [ $bxxx_svr = true ]
  30. then
  31. build_project="$build_project"" bxxx-svr"
  32. fi
  33. if [ $cxxx_svr = true ]
  34. then
  35. build_project="$build_project"" cxxx-svr"
  36. fi
  37. echo "build_project:$build_project"
  38. for project in $build_project
  39. do
  40. #本次构建image用的TAG
  41. echo "$project项目更新需要重新创建docker image"
  42. echo "编译项目分支:$branch"
  43. image=$harbor/$project:$tag
  44. image_pro=$harbor_pro/$project:$tag
  45. echo "镜像:$image"
  46. #部署配置文件名
  47. echo "项目目录:$workspace"
  48. #deploy_file=$project.yaml
  49. dockerfile=$(find $workspace -name $project)
  50. #dockerfile 绝对文件路径
  51. #构建image
  52. docker build -t $image $dockerfile/.
  53. #docker build -t $image -f $dockerfile/Dockerfile2 $dockerfile/.
  54. echo "$image 构建成功"
  55. sleep 2
  56. echo "上传$image 到Harbor私有仓库"
  57. docker login -u$harbor_name -p$harbor_passwd $harbor_url >/dev/null 2>&1
  58. docker push $image
  59. sleep 3
  60. echo "是否上传镜像到生产镜像服务器: $up_pro_img"
  61. if [[ $up_pro_img = true ]]
  62. # && [[ $branch == "master" ]]
  63. then
  64. docker tag $image $image_pro
  65. echo "上传$image_pro 到Harbor外网仓库"
  66. docker login -u$harbor_name_pro -p$harbor_passwd_pro $harbor_url_pro >/dev/null 2>&1
  67. docker push $image_pro
  68. fi
  69. echo "是否部署镜像到uat k8s环境: $auto_deploy_uat"
  70. if [ $auto_deploy_uat == "true" ]
  71. then
  72. #部署到开发k8s环境 #更新deployment中的image
  73. echo "正在部署 $project 到uat环境的k8s集群中........................................."
  74. #远程连接到k8s-master更新服务
  75. sudo ssh root@xxx.xxx.1.1 > /dev/null 2>&1 << EOF
  76. kubectl set image -n bladex3-uat deployment/$project $project=$image
  77. exit
  78. EOF
  79. fi
  80. done
  81. #删除本地构建的镜像
  82. echo "删除$image"
  83. docker rmi $image

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/494775
推荐阅读
相关标签
  

闽ICP备14008679号