• CI/CD——Jenkins自动构建maven项目


    一个完整的jenkins构建maven流程。

    一、服务器安装jenkins

    1、打开jenkins官网,可以查看中文文档

    https://www.jenkins.io/zh/

    2、下载jenkins的war包:

    https://www.jenkins.io/zh/download/

    3、将war包放到服务器上,按照下面的指令安装jenkins:

    4、安装完成之后更改jenkins代理,google改成baidu:

    vim /root/.jenkins/updates/default.json

    二、服务器安装maven

    1、打开maven官网并下载安装包传到服务器上

    https://maven.apache.org/download.cgi

    2、解压安装包并移动目录到环境变量里

    tar -zxvf apache-maven-3.8.6-bin.tar.gzmv apache-maven-3.8.6 /usr/local/maven

    3、验证maven是否成功,出现以下指令表示成功

    /usr/local/maven/bin/mvn -v

    三、IDEA新建一个maven项目,详见快速创建一个maven项目

    四、jenkins里新建一个maven项目

    1、先安装git和maven插件

    2、创建一个maven项目

    3、填git项目的http地址(jenkins服务器上面也需要安装git):

    4、对应git目录的地址,在根目录下就直接写pom.xml

    5、Global Tool Configuration里配置maven信息

    五、ssh文件传输,构建了jar包之后我们通过ssh将jar包传至测试服务器

    1、先安装ssh插件

    2、Configure System里配置ssh servers,这样项目构建完jar包之后会把jar包传到目标服务器的根目录/data下

    3、修改项目的poststeps(构建之后的动作),

    打开SSH Server的详细配置

    4、执行jenkins的job,文件传输成功并自动启动jar包,页面可以访问了。

    六、执行前动作

    jar包启动时我们执行job会提示端口冲突,这个时候我们需要配置一个执行前动作,启动jar包前先把jenkins的进程kill掉。

    这个很好理解了,执行目标服务器上的x.sh脚本

    x.sh脚本:​​​​​​​

    #!/bin/bash
    # 删除历史数据rm -rf java_project/*
    # 获取传入的参数echo "arg:$1"
    # 获取正在运行jar包pidpid=`ps -ef|grep $1 | grep 'java -jar' | awk '{printf $2}'`
    echo $pid
    # 如果pid为空,给提示但不执行删除,不为空则执行删除# -z 空值判断if [ -z $pid ];        then                echo "$1 not started"        else                kill -9 $pid                echo "$1 is stoping ..."fi
    check=`ps -ef | grep -w 95234 | grep 'java -jar'`
    if [ -z $check ];        then               echo "$1 pid:$pid is stoped"       else               echo "$1 pid:$pid stop failed"fi

    七、设置webhook自动构建

    每次git push代码的时候触发构建maven

    1、jenkins修改项目配置,添加一个构建触发器,随便输入一个自己喜欢的身份验证令牌

    webhook原地址为一个get地址:

    JENKINS_URL/job/first/build?token=123123

    使用这个地址有个问题是,必须要登录才可用,所以我们再添加一个插件可以免登陆访问

    2、安装下图插件——使用webhook的时候可以免登陆

    安装了插件之后webhook地址更改为:

    http://JENKINS_SITE/buildByToken/build?job=NAME&token=SECRET

    浏览器输入地址:

    可以看到jenkins项目触发成功

    3、gitlab上设置项目,配置webhook。

    Trigger为触发事件(在什么时候触发webhook),默认是push代码的时候触发。

    4、配置好之后在本地push一次,看看jenkins有没有触发job。

    八、配置邮件

    jenkins自带发送邮件的功能,我们可以自行配置每次触发job,或者job出错时发送邮件

    1、新浪邮箱或者其他邮箱开启POP3/SMTP服务

    2、在jenkins的Configure System里填写邮箱地址

    填写发送邮件的用户名密码

    3、更改邮件通知

    4、更改项目配置——构建后操作,新建Editable Email Notification

    5、在高级设置里编辑Trigger触发器,在任何情况触发了构建都会给developer和构建user发邮件。

    记得设置用户邮箱地址

    6、保存之后重新触发任务,查看日志和邮件

    邮件发送成功!


    学习资源分享

    最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

    这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

  • 相关阅读:
    使用docker搭建squoosh
    R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术
    Case When语句详解SQL中Case When的用法
    如何快速地生成一个Python项目的requirements.txt
    【多线程】详解——模拟设计Timer(结尾附码源)
    Java中的final关键字,你清楚吗?
    xml schema
    2023年前端流行什么技术和框架了?
    迷你Ceph集群搭建(超低配设备)
    100天精通Python(基础篇)——第22天:判断语句综合案例
  • 原文地址:https://blog.csdn.net/m0_58026506/article/details/126744586