jenkins编译打包及自动化部署

Posted guxiaohai_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins编译打包及自动化部署相关的知识,希望对你有一定的参考价值。

一:简介

  1. Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
  2. 官网文档:https://www.jenkins.io/zh/doc/

二:下载及安装(Windows为例)

  1. 下载Jenkins安装包

  2. 需要安装jdk(11和17版本)、maven、git插件工具

  3. 启动Jenkins,执行cmd命令(java -jar jenkins.war),也可自行指定端口,这里默认端口是8080

  4. 浏览器打开Jenkins(http://IP地址:端口/Jenkins/login),管理员密码在如图提示的文件日志中,复制填写进去

  5. 进入插件安装选择

    选择后,进入插件安装页面

  6. 设置初始用户和密码

  7. 进入系统,安装完成。后续可使用初始化用户登录

三:Configure Global Security (全局安全配置)

  1. 打开

  2. maven配置

  3. maven 安装

  4. jdk配置

  5. git配置

四:Plugin Manager(插件管理器)

  1. 打开
  2. 自行可下载插件(包含但不仅限于如下插件):
    Multijob plugin:多项目工程
    Publish over SSH:通过SSH发布

五:Configure System(配置系统)

  1. 打开
  2. Publish over SSH配置

六:单个maven项目编译打包

  1. 点击新建Item

  2. 确认之后,进行相应的配置

  3. 源码管理git

  4. 配置编译pom.xml

  5. 点击保存(这里还可以添加一些构建后操作,这个在自动化部署那边说)

  6. 点击Build编译打包

  7. 查看控制台打印日志

  8. 可以查看状态,为勾选表示成功

  9. 这里可以查看本次编译修改记录

  10. 工作空间,可以查看git源码及编译包,并下载到本地

七:多个maven项目编译打包

  1. 选择MultiJob Project
  2. 配置源码git,以及拉取分支
  3. 增加构建步骤,Build编译maven,需要编译多少个,就可添加多少个

  4. 保存之后,执行Build打包就好了

八:自动化部署

用处:自动部署。如果不需要自动部署,此步骤可省略 。
原理:Jenkins会在工作区中项目根目录下去寻找 Source files中指定的jar文件,去掉 Remove prifix 指定的前缀后,将文件存放在 Remote directory指定的位置下(可不设置),然后执行 Exec command 中的脚本命令,构建完成项目。

1.增加构建后操作(Send build artifacts over SSH):前提需要安装此插件

选择 Send build artifacts over SSH(使用SSH发送到服务器),因为此处Jenkins和项目没有部署在同一个Linux机器上。这个插件可以通过ssh连接其他Linux机器,如果没有这个选项,则可以安装插件:系统管理→管理插件→可选插件→Artifact Uploaders→Publish Over SSH


2. 填写参数信息

  1. start.sh启停脚本
PORT=8999
JARNAME="/www/cs/cs-1.0-SNAPSHOT.jar"
PID="$(ps -ef | grep -E $JARNAME | grep -v grep | awk 'print$2' )"
if [[ -n $PID ]];
then
echo "$JARNAME already start,port:$PORT,pid:$PID"
kill -9 $PID
rm -rf $PID
echo "kill pid:$PID"	
fi
echo "开始运行"
nohup /usr/local/java/jdk/bin/java -jar JARNAME > /www/cs/jar.log 2>&1 &
exit
  1. 点击保存应用,在执行Build编译打包部署,这时可以去查看(控制台log日志)

到此,Jenkind自动化部署所有操作就完成了,可以去Linux相应服务器上看是否已经正常部署并打印log日志了。

以上是关于jenkins编译打包及自动化部署的主要内容,如果未能解决你的问题,请参考以下文章

jenkins+gitlab自动化编译部署方案探索及服务端编译webpack实战

jenkins初步理解及参数化构建

jenkins初步理解及参数化构建

Jenkins使用Jenkins编译打包后自动部署项目

jenkins+Gitlab+maven+tomcat实现自动化集成打包部署。

jenkins ios 自动化打包一定要在mac下吗