Jenkins简单使用部署项目
1.Jenkins下载
> 其他下载地址[https://get.jenkins.io/war-stable/](https://get.jenkins.io/war-stable/) > > 最新版本下载地址:[https://www.jenkins.io/download/](https://www.jenkins.io/download/) >下载适合自己的版本,本次安装采用最新的2.462版本
2.环境安装
2.1安装JDK17
参考博客:[https://blog.csdn.net/shengma76/article/details/133640356](https://blog.csdn.net/shengma76/article/details/133640356)下载链接:https://jdk.java.net/java-se-ri/17
2.2安装git
参考博客:[https://blog.csdn.net/qq_45281589/article/details/134650456](https://blog.csdn.net/qq_45281589/article/details/134650456)下载地址:https://git-scm.com/download/win
2.3安装maven
下载地址:[https://maven.apache.org/download.cgi](https://maven.apache.org/download.cgi)将下载好的maven解压到一个目录中
修改maven配置,打开setting.xml文件,添加如下配置
<mirrors>
<!--阿里云仓库-->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<!--中央仓库-->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2</url>
</mirror>
<mirror>
<id>central</id>
<name>aliyun central</name>
<url>https://maven.aliyun.com/repository/central</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>google</id>
<name>aliyun google</name>
<url>https://maven.aliyun.com/repository/google</url>
<mirrorOf>google</mirrorOf>
</mirror>
<mirror>
<id>public</id>
<name>aliyun public</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>public</mirrorOf>
</mirror>
<mirror>
<id>gradle-plugin</id>
<name>aliyun gradle-plugin</name>
<url>https://maven.aliyun.com/repository/gradle-plugin</url>
<mirrorOf>gradle-plugin</mirrorOf>
</mirror>
<mirror>
<id>spring</id>
<name>aliyun spring</name>
<url>https://maven.aliyun.com/repository/spring</url>
<mirrorOf>spring</mirrorOf>
</mirror>
<mirror>
<id>spring-plugin</id>
<name>aliyun spring-plugin</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
<mirrorOf>spring-plugin</mirrorOf>
</mirror>
<mirror>
<id>grails-core</id>
<name>aliyun grails-core</name>
<url>https://maven.aliyun.com/repository/grails-core</url>
<mirrorOf>grails-core</mirrorOf>
</mirror>
<mirror>
<id>apache-snapshots</id>
<name>aliyun apache-snapshots</name>
<url>https://maven.aliyun.com/repository/apache-snapshots</url>
<mirrorOf>apache-snapshots</mirrorOf>
</mirror>
</mirrors>
配置环境变量
3.安装配置Jenkins
3.1安装
3.2配置
安装完成后在浏览器输入127.0.0.1:8077,实际端口根据自己的配置来打开C:\ProgramData\Jenkins\.jenkins\secrets\initialAdminPassword
文件,获取其中的密码
安装推荐插件
创建账号
配置路径
配置完成界面
3.3安装插件
安装FTP插件
安装SSH插件
3.4配置凭证
进入[http://127.0.0.1:8077/manage/](http://127.0.0.1:8077/manage/credentials/)页面进入http://127.0.0.1:8077/manage/credentials/页面
配置一个git的登录账号
配置远程服务器的ssh登录账号
3.5配置SSH和FTP服务
进入[http://127.0.0.1:8077/manage/configure](http://127.0.0.1:8077/manage/configure)页面添加一个SSH服务
添加多个FTP服务
4.配置项目
4.1创建项目
点击新建Item创建新项目4.2拉取代码
配置项目的Git测试Git配置,进行构建,拉去代码并查看工作空间中是否拉取成功
解决Windows系统中文件名太长不支持的问题,使用管理员启动powerShell
再次进行打包,成功获取代码
4.3编译源码
构建步骤选择 Execute Windows batch command ,命令为打开文件夹,通过maven编译项目cd jeecg-weiwang
mvn clean package -P test,SpringCloud
配置完成后执行一次构建,在更新源代码后Jenkins会执行一次编译命令,打包项目
打包时报以下错误,没有找到com.xiaozhuo:dlt645-07:jar:1.0.4这个包,因为是我们自定义的jar包,所以需要手动更新到仓库中
mvn install:install-file -Dfile=E:\dlt645-07-1.0.4.jar -DgroupId=com.xiaozhuo -DartifactId=dlt645-07 -Dversion=1.0.4 -Dpackaging=jar
再次编译结果成功
4.4配置FTP上传jar包
在项目配置的** Build Steps **增加构建步骤 ** Send files over FTP **点击构建计划测试上传是否成功,如果上传失败需要打开文件夹的写入权限
4.5配置项目重新启动
编写项目重启脚本 application_restart.sh#!/bin/bash
# 查找并杀掉正在运行的 Java 应用程序进程
PID=$(ps -ef | grep 'jeecg-demo-cloud-start-3.4.3.jar' | grep -v 'grep' | awk '{print $2}')
if [ -z "$PID" ]; then
echo "Application is not running."
else
echo "Stopping application with PID: $PID"
echo "jyjb@2023" | sudo -S kill -9 $PID
fi
# 启动项目
sleep 10
echo "jyjb@2023" | sudo -S nohup /usr/bin/java -jar -Xmx1024M -Xms256M /www/wwwroot/ydb_demo/jeecg-demo-cloud-start-3.4.3.jar --server.port=9084 > /www/wwwroot/ydb_demo/logs/application.log 2>&1 &
echo "Application started."
上传到服务器中,注意编码和权限问题,因为在Windows系统下编写的脚本可能存在编码格式问题,上传后需要进行转码
sudo apt-get install dos2unix
dos2unix /www/wwwroot/ydb_demo/application_restart.sh
chmod +x /www/wwwroot/ydb_demo/application_restart.sh
在项目配置的** Build Steps 增加构建步骤 Execute shell script on remote host using ssh **
** sh /www/wwwroot/ydb_demo/application_restart.sh **
重新构建进行测试