jenkins前后端部署

本文详细介绍如何使用Jenkins进行后端项目的自动化部署流程,包括设置工作空间、源码管理、构建过程及构建后操作,通过SSH协议将构建的Jar包传输至目标服务器并执行启动命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jenkins 后端部署流程描述

首先在Jenkins服务上定义一个工作空间的路径,选择目标程序的源码url路径,构建环境加构建过程中需要执行的命令。构建完成后拷贝Jar包至部署目标服务器,然后在部署目标服务器上执行运行应用程序的命令文件。如下是具体操作步骤:

1新建

 

2.输入项目名称,选择“构建一个自由风格的软件项目”,最后点击OK

 

3.General配置

后台部署以渗滤液为例,General配置主要是项目名称和高级配置中的“使用自定义的工作空间”,主要作用是用于Jenkins服务本地构建当前项目

 

4源码管理

 选项参数说明:

  1. Subversion:选择的开放源代码的版本控制系统
  2. Repository URL:svn://183.129.170.222/project/code/products/percolateFactory/trunk (源码存放的url地址)
  3. Credentials :admin/****** 权限证书

 

5构建

 参数说明:

  1. Invoke Gradle script:构建打包工具
  2. Gradle Version : gradle-2.14 (gradle版本号)
  3. Tasks : clean bootRepackage(清理,并重新打包) –Dprofile=lan(选择项目配置文件), 每次构建任务需要执行的任务命令。
  4. Root Build script: /mnt/jenkins/.jenkins/workspace/pf-xww/pf-imp (Jenkins构建项目的根)
  5. Build File : build.gradle(构建gradle配置文件)

 

6构建后操作

  参数说明:

  1. Send build artifacts over SSH : (Jenkins服务和目标部署服务的传输通信协议)
  2. Name:192.168.x.x(目标服务名称)
  3. Source files: pf-imp/build/libs/pf-imp-1.0.1-SNAPSHOT.jar (Jenkins服务上构建完成的程序jar包相对位置路径)
  4. Remove prefix: pf-imp/build/libs(删除不需要在远程服务器上创建的路径前缀)
  5. Remote directory:pf(目标服务器上部署位置的文件夹)
  6. Exec command: /mnt/vortex/pf/startUp.sh(在远程服务器上需要执行的命令文件)startUp.sh的命令内容见附录1,startUp.sh中执行的文件pf.sh内容见附录2。

 

附录1

 

 

 

附录2

主要的修改参数如图所示,

JAVA_HOME的配置路径由远程部署服务器的java应用路径决定,

APP_MAINCLASS的配置值主要由启动Java主程序所在的包名路径决定,

CLASSPATH的配置值是部署应用**.jar包的完整名称

详细文档

链接:https://pan.baidu.com/s/1pRN2dGL6ZBQI15k9sc6mqQ 
提取码:3bxi 
 

前端

详细文档

链接:https://pan.baidu.com/s/1vjF1qzVcxl4o7v15ujx9kw 
提取码:61wc 
 

### 使用 Jenkins 部署前后端分离项目的解决方案 在使用 Jenkins 部署前后端分离项目时,通常需要分别处理前端后端的构建与部署流程。以下是一个完整的解决方案,结合了提供的引用内容专业实践。 #### 1. 后端项目部署 后端项目通常以 JAR 或 WAR 包的形式进行打包部署。以下是具体步骤: - **下载并启动后端项目** 将后端项目的 WAR 或 JAR 包上传到服务器,并通过命令启动。例如: ```bash nohup java -jar jenkins.war > ../logs/jenkins.log 2>&1 & ``` 此命令将后台运行后端项目,并将日志输出到指定文件中[^2]。 - **Jenkins 配置后端项目** 在 Jenkins 中创建一个自由风格的项目,配置如下: - 输入 Git 地址并添加 Git 账户。 - 增加构建步骤,调用 Maven 目标(如 `clean package`)以生成 JAR 包。 - 如果需要,增加额外的构建步骤执行 Shell 脚本,用于停止旧服务并启动新服务。 - **Shell 脚本示例** 用于停止旧服务并启动新服务的脚本可以参考以下内容: ```bash # 停止旧服务 ps aux | grep vueblog-0.0.1-SNAPSHOT.jar | grep -v "grep" | awk '{print "kill -9 "$2}' | sh # 启动新服务 export BUILD_ID=dontKillMe nohup java -jar /path/to/vueblog-0.0.1-SNAPSHOT.jar > logTest.log 2>&1 & ``` 注意:`export BUILD_ID=dontKillMe` 是为了防止 Jenkins 杀死子进程[^3]。 #### 2. 前端项目部署 前端项目通常基于 Vue、React 等框架,需要通过构建工具(如 npm 或 yarn)生成静态资源文件。以下是具体步骤: - **安装依赖环境** 确保服务器上已安装 Node.js 相关构建工具(如 npm)。可以在 Jenkins 的全局工具配置中设置 Node.js 的路径。 - **Jenkins 配置前端项目** 创建一个新的自由风格项目,配置如下: - 输入 Git 地址并添加 Git 账户。 - 增加构建步骤,执行 npm 构建命令(如 `npm run build`)以生成静态资源文件。 - 增加额外的构建步骤,将生成的静态资源文件复制到目标路径(如 Nginx 的 html 目录)。 - **Shell 脚本示例** 用于前端项目构建部署的脚本可以参考以下内容: ```bash cd /path/to/frontend npm install npm run build # 将生成的 dist 文件夹复制到 Nginx 的 html 目录 rsync -av --delete ./dist/ /usr/share/nginx/html/ # 重新加载 Nginx 配置 /usr/local/nginx/sbin/nginx -s reload ``` #### 3. 自动化流程整合 为了实现一键部署,可以将前端后端Jenkins 项目关联起来,通过以下方式实现: - 在后端项目的 Jenkins 配置中,添加“构建后操作”,触发前端项目的构建。 - 确保前后端项目的 Git 地址正确,并且构建步骤无误。 #### 4. 示例完整脚本 以下是一个完整的前后端部署脚本示例: ```bash # 后端部署 echo "Stopping old backend service..." ps aux | grep vueblog-0.0.1-SNAPSHOT.jar | grep -v "grep" | awk '{print "kill -9 "$2}' | sh echo "Starting new backend service..." export BUILD_ID=dontKillMe nohup java -jar /path/to/vueblog-0.0.1-SNAPSHOT.jar > logTest.log 2>&1 & # 前端部署 echo "Building frontend project..." cd /path/to/frontend npm install npm run build echo "Copying frontend files to Nginx directory..." rsync -av --delete ./dist/ /usr/share/nginx/html/ echo "Reloading Nginx configuration..." /usr/local/nginx/sbin/nginx -s reload ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值