centos环境Jenkins配置war包Tomcat
末尾有软件安装包,自行下载(centos环境)
centos | JDK | Jenkins | maven | tomcat | git | myslq | nginx |
---|---|---|---|---|---|---|---|
7.9 | 11.0.19 | 2.418 | 3.8.1 | 9.0.78 | 2.34.4 | 5.7.26 | 1.24.0 |
JDK11压缩包安装
下载 Jenkins需要依赖JDK环境所以先配置好JDK
#查询架构信息
hostnamectl
#根据信息下载具体版本 例如Architecture: x86-64下载 x64的
解压后配置环境, 添加配置以下信息到profile文件
#Java11 Environment
#JAVA_HOME解压目录
export JAVA_HOME=/usr/local/java/jdk11
#JRE_HOME指向解压目录即可
export JRE_HOME=/usr/local/java/jdk11
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
source /etc/profile 生效配置, 检查安装成功? java -version
jdk1.8只能使用 2.361.1 之前的版本 ,不建议8版本
Jenkins 安装
war包下载
下载最新war包
编写sh脚本启动war, 新建 jenkins.sh 位置任意, 例如在 cd /usr/local/Jenkins/ 创建.
#!/bin/bash
## 指定jenkins.war目录
JENKINS_HOME=/usr/local/Jenkins
# which java
JAVA_HOME=/usr/local/java/jdk11/bin/java
# 运行 war 指定端口 和在当前目录(jenkins.sh的目录)下生成日志文件
nohup $JAVA_HOME -jar $JENKINS_HOME/jenkins.war --httpPort=8090 > jenkins.log 2>&1 &
启动脚本 sh jenkins.sh
查看当前进程 ps -ef | grep jenkins ,关闭 kill 进程号
常用命令
安装目录 | 查看当前进程 | 启动 | 关闭 |
---|---|---|---|
cd /usr/local/Jenkins/ | ps -ef | grep jenkins | sh jenkins.sh | kill pid |
JDK11在Jenkins的配置
JAVA_HOME选择在本地服务器的安装路径
maven安装
maven下载, 解压.
配置环境变量 /etc/profile
export PATH=$PATH:/usr/local/maven/apache-maven-3.8.1/bin
配置完后立刻生效 source /etc/profile
配置setting.xml 新建 my_repository 存放jar仓库
<localRepository>/usr/local/maven/my_repository</localRepository>
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
测试 mvn -version
maven在Jenkins中的配置
MAVEN_HOME选择解压的路径 / 安装路径
Git安装
git-2.34.4.tar.gz git下载解压后安装
tar –xvzf git-2.34.4.tar.gz
cd git-2.34.4/
make prefix=/usr/local/git all
make prefix=/usr/local/git install
配置环境变量 /etc/profile 添加
#解压目录
GIT_HOME=/usr/local/git
export PATH=$GIT_HOME/bin:${PATH}
git version 查看是否成功
Git在Jenkins的配置参考
安装插件
- git插件
- git客户端插件
- Publish over SSH插件 Publish over SSH插件并配置
Tool 里面配置git 的可执行路径 which git 将输出的路径复制进去
新建项目选择git
- Repository URL:仓库地址 , 提前在Gitee /github创建仓库
- Credentials:配置仓库的用户名和密码
Jenkins 配置Log输出
日志输出信息很重要先配置Log然后再部署项目.
编写rules文件
error /(?i)error\]/
warning /(?i)warning\]/
info /(?i)info\]/
下载Log Parser插件, 配置在 System 中配置 Console Output Parsing
在项目新建时 Post-build Actions选择 Console output (build log) parsing,使用规则
重启Jenkins ,或者重新登录;
如果没有看到日志输出的话或者提示 **JenkinsConsole output #0 **重启/重登试试
SSH部署项目到Tomcat
war项目部署Tomcat选择使用 send build artifacts over ssh
springboot项目打包设置阿里云环境为默认环境
<profiles>
<!-- 阿里云环境-->
<profile>
<id>prod</id>
<activation>
<!--默认-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
<!-- 本地环境-->
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
</profile>
</profiles>
SSH配置,因为我的jenkins和Tomcat服务器在同一个 服务器,所以host 为127.0.0.1,其他的话选择公网IP.
配置项目部署后选择send build artifacts over ssh方式,如下配置
常见问题
遇到build问题找不到pom文件 需要在root pom 指定pom文件路径
内存不足 参考文章 创建虚拟内存
Build step 'Deploy war/ear to a container' marked build as failure
解决办法选择SSH发布