码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 七 Jenkins创建任务实现自动化运维部署


    1)登录Jenkins,创建第一个任务

     需要注意的是,如果前面没有按照我们的前置配置中讲到的安装了maven插件,这里是没有【构建一个maven项目】的选项的,详细安装配置可以看我们的第六篇内容

    点击确定之后进入如下详细配置界面:

     2)git相关配置

    填写我们gitlab上SSH方式的项目地址,然后Credentials模块点击【添加】,以用户和密码的方式创建访问凭证,这里的账号和密码是指可以从gitlab上更新下载代码的账号信息

    3)构建触发器,选中如下图红框圈中选项

     

    4)项目build配置

    clean install -Dmaven.test.skip=true

     5)项目打包后置步骤

    这一块主要涉及shell脚本的编写,详细脚本内容如下:

    1. #!/bin/bash
    2. source /etc/profile
    3. #服务名称
    4. SERVER_NAME=performance-test-platform-0.0.1-SNAPSHOT
    5. #源jar路径,mm打包完成之后,target目录下的jar包名称,也可选择成为war包,war包 可移动到Tomcat的。
    6. JAR_NAME=performance-test-platform-0.0.1-SNAPSHOT
    7. #target打包生成jar包的目录
    8. JAR_PATH=/var/lib/jenkins/workspace/performance-test-platform/target
    9. #打包完成之后,把iar包移动到运行jar包的目录
    10. JAR_WORK_PATH=/home/performance-test-platform
    11. echo "查询进程id-->$SERVER_NAME"
    12. PID=`ps -ef | grep "$SERVER_NAME" | grep java | awk '{print $2}'`
    13. echo"得到进程ID: $PID"
    14. echo"结束进程"
    15. for id in $PID
    16. do
    17. kill -9 $id
    18. echo "killed $id"
    19. done
    20. echo"结束进程完成"
    21. #删除原始旧的jar包
    22. cd $JAR_WORK_PATH
    23. rm -rf $JAR_NAME.jar
    24. echo "原始jar包删除成功"
    25. #复制jar包到执行目录
    26. echo" 复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
    27. cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
    28. echo"复 制jar包完成"
    29. cd $JAR_WORK_PATH
    30. #修改文件权限
    31. chmod -R 777 $JAR_NAME.jar
    32. #后台启动
    33. BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &

    最后点击保存,job创建完毕,下面进行测试

    6)idea中修改代码并提交到gitlab

     然后回到我们的jenkins,直接一键构建项目

    控制台查看构建信息日志打印

    日志显示构建成功

    访问项目:http://IP:Port/mainPlatform 

    项目可以成功访问,然后查看后台日志打印,是否按照代码输出了100次

    输出100次,自此Jenkins自动化运维部署 整个流程搭建成功

     

  • 相关阅读:
    R语言ggplot2可视化:使用ggpubr包的ggpaired函数可视化配对数据(可视化箱图并使用线段连接配对的数据点)
    【WSN布局】基于LICHTENBERG算的多目标传感器选择和放置优化问题研究附matlab代码
    又是一年开学季,老学长告诉你弯道超车的法则
    基于优先级的时间片轮转调度算法(C语言实现)
    深入理解比特币原理4----比特币网络设计
    算法专题1——动态规划 Dynamic Programming,DP
    数据库索引失效
    Vue(七):vue项目发布到服务器
    章鱼网络 Community Call #19|​开启与 Eigenlayer 的合作
    React Hooks useState 使用详解+实现原理+源码分析
  • 原文地址:https://blog.csdn.net/weixin_36898373/article/details/125486315
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号