目录

Jenkins2.346.1部署Java应用

Jenkins2.346.1部署Java应用

一、Jenkins安装前准备

1、JDK1.8环境

1-1、版本支持

JDK与Jenkins版本对照:https://www.jenkins.io/doc/book/platform-information/support-policy-java/

https://i-blog.csdnimg.cn/direct/5c563681d7214ce5bfef26485ba23487.png

1-2、安装JDK1.8

安装说明:

2、Git环境

注:使用的是 存放项目

# Git安装(Linux服务器自带的)
yum -y install git

# 查看版本
git -v  git --version
# 结果显示:git version 2.43.5

3、Maven环境

3-1、下载地址

maven最新使用版本:http://maven.apache.org/download.cgi

maven历史可下载版本:https://archive.apache.org/dist/maven/maven-3/

maven历史对应jdk的版本:https://maven.apache.org/docs/history.html

3-2、安装maven3.6.3

  • 下载地址(在历史可下载版本)

  • 安装命令
# 1. wget 下载安装包(非最新版本)
wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

# 2. 使用wget;如果出现:-bash: wget: command not found问题,说明未安装。执行安装命令
# 移除老版wget
yum remove wget
# 安装wget(wget安装后,重新下载maven的安装包)
yum install -y wget

# 3. 解压安装包(解压在当前目录下)
tar -zxvf apache-maven-3.6.3-bin.tar.gz

#  4. 配置环境变量
vim ~/.bash_profile

# 5. 在bash_profile中,加入以下程序
export M2_HOME=/app/maven/apache-maven-3.6.3/bin
export PATH=$M2_HOME:$PATH

# 6. 配置生效
source ~/.bash_profile

注:各环境文件配置说明

/etc/profile 是Linux系统中的系统级配置文件,它对所有用户都有效

~/.bash_profile 是用户的个人配置文件,它只对当前用户有效。

~/.bashrc 也是用户的个人配置文件,它在用户开启一个新的 shell 会话时被加载。

/.bashrc 的作用与/.bash_profile类似,但它更侧重于单个 shell 会话的配置。

4、node环境

4-1、安装NVM

注:支持安装多个版本的node,并控制使用版本

NVM官网地址:

# 1. 安装nvm
# 方式1(curl -o-命令的作用是将下载的内容输出到标准输出(stdout),而不是保存到文件。)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 方式2 【推荐】(wget -qO- 的作用就是让wget以安静模式下载文件,并将下载的内容输出到标准输出。)
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 2、安装结果如下图
# 根据图片所示:nvm已配置在~/.bashrc内
# 如果未配置:则在以下任一文件中均可 
# ~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc, 在文件尾部添加nvm命令所在路径

# 3、如果没有.nvm目录则创建
mkdir -p ~/.nvm

# 4.如果没有自动配置环境时,则手工加
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] &&  "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] &&  "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

# 5. 重新加载配置文件
source ~/.bashrc 

https://i-blog.csdnimg.cn/direct/9c315d25efa44213b45f641004f8f282.png

4-2、安装node

# 指定安装版本
nvm install 20.18.1

# 指定使用node的版本
nvm use 20.18.1

二、Jenkins开始安装

1、Jenkins2.346.1版本下载

1-1、war安装方式(使用)

  • 下载war包

  • tomcat启动war

① 把war放入tomcat webapps下

② 设置端口号

③ 启动tomcat服务

2-1、镜像rpm安装

注:只有最新版的,旧版的已经不支持了

# 旧版Jenkins下载
rpm -ivh jenkins-2.249.2-1.1.noarch.rpm

# 如果之前安装过其它的版本,就会报冲突,解压会失败,需要卸载
# 注:解压前,不要用其它命令删除,不然无用。
# 如果之前被删除过,可以先安装原版本的,再进行删除
rpm -e jenkins-2.249.2-1.1

# 查看jenkins.war文件所在路径:显示 jenkins: /usr/lib/jenkins
whereis jenkins

# 进入
cd /usr/lib/jenkins

# 启动服务 或者 使用容器tomcat启动
sudo service jenkins start

注:解压得到的jenkins.war,也可以通过tomcat启动,把war包移动到tomcat的webapp下,然后更改catalina.sh文件种的java_home地址,最后配置下自己需要的端口号(默认:8080),启动容器。

2、Jenkins启动后配置

2-1、在日志中查看管理员密码

搜索:/root/.jenkins/secrets/initialAdminPassword,如下图日志所示

https://i-blog.csdnimg.cn/direct/9258971df160498fb3f775d353fe17ff.png

2-2、登录界面前的配置

  • 在/root/.jenkins/secrets/initialAdminPassword下,输入管理密码

  • 输入成功后,进入【下一步】选择, 自定义插件 还是 推荐插件

  • 注:使用 推荐插件 ,默认下载的插件只支持最新高版本的Jenkins。2.346.1不支持,如下所示

    https://i-blog.csdnimg.cn/direct/25182731619746b5a6cb44ade8583d10.png

  • 最终选择【自定义插件】,进入下一页,选择**“无”**,不安装任何插件。

  • 最终进入jenkins界面

    https://i-blog.csdnimg.cn/direct/d7a7c2c8608f422eaebf5c95eface881.png

3、安装Jenkins依赖的插件

3-1、方式一:下载插件

  • 注:下载的插件要支持当前Jenkins的版本

  • 插件与Jenkins版本: ,如下所示:

    https://i-blog.csdnimg.cn/direct/5c9413783fab41f5a1dc537d6cf23874.png

3-1-1、人工部署插件
  • 菜单选择:系统管理 => 插件管理 => 高级

    https://i-blog.csdnimg.cn/direct/341d9919521843eab73826f2f8b61252.png https://i-blog.csdnimg.cn/direct/4167c83f8ab74941b13e379373c12ab8.png

3-1-2、插件之间依赖关系
  • 1、部署maven-plugin.hpi插件,需要部署它依赖的插件(自行摸索,未记录-太多了)
  • 2、如果有找不到的插件跳过就好(有几个插件不支持此版本,如:asm-api、json-api)
  • 3、经测试能部署所依赖的包,如下链接:

3-2、方式二、直接使用安装好的插件

3-2-1、 进入jenkins(安装好的)插件存放处
# 进入jenkins的插件处
 cd ~/.jenkins/plugins/
3-2-2、下载安装好的插件

注:原先若有安装的插件,记得先备份

可用插件下载地址:

三、Jenkins 开始打包配置

1、新建任务

https://i-blog.csdnimg.cn/direct/ef48f2f960ab4956bc592cb4a236b8dd.png

2、基础配置

显示构建日志保存天数 和 记录数

https://i-blog.csdnimg.cn/direct/c5db3da2a8814039ae7f933c45dab1dc.png

3、源码管理

若无口令,则先添加

https://i-blog.csdnimg.cn/direct/407cfe8bf61744c0822864a1a339ea0d.png

4、指定分支版本

默认master

https://i-blog.csdnimg.cn/direct/536f93004efe49f7a34cb4aa5c181ba6.png

5、指定进入打包项目

一个地址控制多个项目时,只打包单个项目

https://i-blog.csdnimg.cn/direct/4679c8f4dba84979a7414501a25d06fe.png

6、构建

https://i-blog.csdnimg.cn/direct/6bca2e6b89074e08a684f72695331be2.png

# ######## 打包 ########
# 获取本用户的maven环境变量
source /etc/profile
# 当前所在目录
pwd
# 打包
mvn clean install

######## 远程部署 ########
# 使用密码(/home/update/release自定义远程路径)
# 远程传输
sshpass -p '密码' scp -r 文件 username@ip:/home/update/release
# 执行远程服务的sh(注:可自带参数-也可以不需要)
sshpass -p '密码' ssh username@ip "bash /home/update/release/update.sh $param1"

# 使用密钥文件
# 远程传输(/home/update/release自定义远程路径)
sshpass -i 文件路径/文件名 scp -r 文件 username@ip:/home/update/release
# 执行远程服务的sh(注:可自带参数-也可以不需要)
sshpass -i 文件路径/文件名 ssh username@ip "bash /home/update/release/update.sh $param1"

OK!到这基本上就结束了,其他可自行慢慢摸索。。。。。。