Jenkins自动化发布配置

本文介绍如何使用Jenkins进行自动化部署的过程,包括Jenkins的安装配置、构建触发器的设置及shell脚本编写等关键步骤。
一.安装Jenkins
将jenkins.war放在tomcat/webapp下.
启动tomcat.

恭喜你安装成功!


二.Jenkins配置
打开http://192.168.130.132:9090/jenkins/
在jenkins->系统管理->系统设置中
配置:
JDK目录
maven目录
其他默认即可.

新建工程
勾选  丢弃旧的构建   保持构建天数1  保持构建最大个数5
源码管理: 选择Subversion 填入svn地址,第一次会要求输入svn访问权限.
构建触发器:勾选 
Build whenever a SNAPSHOT dependency is built 
以及 
Build periodically 
在日程表内填入  
40 * * * *

在Build中 Goals and options 填入  
clean install -Dmaven.test.skip=true
Post Steps选 
Run only if build succeeds

保存


三.shell脚本编写
vi    
domesop-app-depoly.sh
 
#!/bin/bash

export JAVA_HOME=/usr/java/jdk1.7.0_79
#发布的tomcat地址 
TOMCAT_PATH="/opt/tomcat/tomcat-8081-domesop-app"
TOMCAT_PID=`/usr/sbin/lsof -n -P -t -i :8081`

echo JAVA_HOME: $JAVA_HOME
echo TOMCAT_PATH: $TOMCAT_PATH
echo TOMCAT_PID: $TOMCAT_PID

[ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID

rm -rf $TOMCAT_PATH/webapps/ROOT*
rm -rf $TOMCAT_PATH/logs/*
cd $TOMCAT_PATH/webapps

#从生成的包的地址拿包
wget http://192.168.130.132:9090/jenkins/job/domesop-app/lastBuild/com.xxx.sop\$app/artifact/com.xxx.sop/app/1.0/app-1.0.war
mv  app-1.0.war ROOT.war
chmod +x -R *

cd $TOMCAT_PATH/bin
./startup.sh


### tail -400f $TOMCAT_PATH/logs/catalina.out

保存退出

获取shell权限
chmod u+x 
   domesop-app-depoly.sh

### Jenkins 自动化发布配置教程最佳实践 #### 安装 Jenkins 为了实现自动化发布,首先需要在 Linux 上安装 Jenkins。编辑 `/etc/yum.repos.d/jenkins.repo` 文件来指定 Jenkins 的稳定版源[^4]: ```bash [jenkins] name=Jenkins-stable baseurl=http://pkg.jenkins.io/redhat gpgcheck=1 ``` 接着可以使用 `yum install jenkins` 来完成安装。 #### 配置基础环境 确保 Maven 和 Git 的执行路径已经正确设置,并且代码仓库私钥权限已妥善管理[^3]。这通常涉及到修改全局工具配置以及安全凭证插件中的相应条目。 对于 Java 项目来说,还需要确认 JDK 版本是否满足需求;如果遇到特定版本如 Java 8,则可能需额外调整以适应新系统的兼容性变化。 #### 构建自动化部署流水线 创建一个新的 Pipeline Job,在脚本区域编写 Groovy 脚本来定义 CI/CD 流程逻辑。这里可以根据实际应用场景择不同的构建方式——比如针对基于 Maven 或 Gradle 的项目分别提供不同类型的配置模板。 下面是一个简单的 Jenkinsfile 示例用于展示基本结构(假设为 Maven 项目): ```groovy pipeline { agent any stages { stage('Checkout') { steps { git branch: 'main', url: 'https://github.com/example/repo.git' } } stage('Build') { steps { sh "mvn clean package" } } stage('Test'){ steps{ sh "mvn test" } } stage('Deploy'){ when { expression { return env.BRANCH_NAME ==~ /^(release|hotfix)/ } } steps { echo 'This step will deploy the application...' } } } post { always { junit '**/target/surefire-reports/*.xml' archiveArtifacts artifacts: '**/target/*.jar,**/target/*.war', allowEmptyArchive: true } success { mail to: 'team@example.com', subject: "${env.JOB_NAME} (${env.BUILD_NUMBER}) Succeeded", body: "Check console output at ${env.BUILD_URL}" } failure { mail to: 'ops-team@example.com', subject: "${env.JOB_NAME} (${env.BUILD_NUMBER}) Failed", body: "Please check logs for more information." } } } ``` 此脚本实现了从检出代码到打包测试再到有条件地部署应用程序的过程,并包含了发送通知邮件的功能。 #### 设置 Webhook 触发器 为了让每次提交都能自动触发构建过程,可以在远程 Git 托管平台上(例如 GitHub/GitLab)配置 webhook。具体做法是在目标项目的 Settings 页面找到 Webhooks 功能并新增 URL 地址指向 Jenkins 实例上的回调接口[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值