Jenkins部署Springboot项目注意事项

本文详述了使用Jenkins部署Springboot项目时遇到的问题,包括本地gitlab钩子无法访问jenkins、403错误、证书问题、shell启动失败和等待时间过长等,并提供了详细的解决方案。在远程生产环境部署中,针对ssh远程启动springboot的困扰,给出了处理方法。此外,还介绍了如何实现push后仅触发特定分支的动态部署。

前情摘要

记录一下最近使用jenkins为公司搭建自动化部署时遇到的一些坑及解决方法,具体搭建过程略了,后续有时间补上,重点是坑,写的不好之处还请批评指正

本地开发环境部署

1.本地gitlab钩子无法访问本地jenkins

解决方法:gitlab ->设置 ->Outbound requests

2.gitlab钩子访问jenkins出现403问题

解决方法:
①jenkins全局配置 >> 跨站请求伪造 >> 匿名用户具有可读权限
②下载插件 Build Authorization Token Root ( build-token-root:1.7 )

3. jenkins下载插件出现证书问题

解决方法:
①jenkins 插件管理 >> 高级 >> 升级站点 >> URL 修改为

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

②进入jenkins站点更新目录修改默认json配置

cd /var/lib/jenkins/updates/

③全局替换default.json里面的下载插件地址

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json 
sed -i 's/http:\/\/www.google.com/https:\/\/
### 部署Spring Boot项目Jenkins通过复制现有配置 在Jenkins部署Spring Boot项目可以通过复制现有的Jenkins Job配置来实现。以下是详细的说明和步骤描述: #### 1. 复制现有的Jenkins Job 通过Jenkins的用户界面,选择一个已经存在的、功能相似的Job(例如,一个用于构建和部署其他Java项目的Job)。点击“Copy”按钮以创建一个新的Job[^2]。 ```bash # 在Jenkins UI中: # 1. 打开现有的Job页面。 # 2. 点击左侧菜单中的 "Copy" 按钮。 # 3. 输入新的Job名称,并点击确认。 ``` #### 2. 修改构建脚本 确保新复制的Job使用正确的构建工具链。对于Spring Boot项目,通常需要以下步骤: - **Maven/Gradle**:检查是否已正确配置Maven或Gradle作为构建工具。确保`pom.xml`或`build.gradle`文件被正确引用。 - **构建命令**:更新构建命令以匹配Spring Boot项目的特定需求。 ```bash # 使用Maven时的构建命令示例: mvn clean package -DskipTests=true # 使用Gradle时的构建命令示例: gradle build -x test ``` #### 3. 配置Post-Build Actions 在复制的Job中,添加或调整Post-Build Actions以完成部署任务。常见的操作包括: - **归档工件**:将生成的`.jar`文件归档以便后续使用。 - **SCP/SFTP**:将构建好的Spring Boot应用上传到远程服务器。 - **Shell Script**:运行启动或停止Spring Boot应用的脚本。 ```bash # 示例:通过SSH将Spring Boot应用部署到远程服务器 scp target/*.jar user@remote-server:/path/to/deploy/ # 示例:远程启动Spring Boot应用 ssh user@remote-server "nohup java -jar /path/to/deploy/app.jar > app.log 2>&1 &" ``` #### 4. 参数化构建 如果需要支持同的环境(如开发、测试、生产),可以将Job参数化。添加以下参数以动态调整部署行为: - **Environment Variable**:定义目标环境(如`DEV`, `TEST`, `PROD`)。 - **Path Parameters**:指定远程服务器路径或其他配置文件位置。 ```bash # 示例:根据环境变量启动同的配置文件 java -jar app.jar --spring.profiles.active=${ENVIRONMENT} ``` #### 5. 测试和验证 完成配置后,手动触发一次构建以验证整个流程是否正常工作。检查日志输出,确保所有步骤按预期执行。 --- ### 注意事项 - 确保Jenkins拥有访问远程服务器的权限,通常通过配置SSH密钥来实现[^3]。 - 如果使用Kubernetes作为部署目标,可以集成Helm Chart或直接使用`kubectl`命令进行部署。 ```yaml # Helm Chart 示例 helm upgrade --install my-springboot-app ./chart -f values.yaml ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值