Add Jenkinsfile130

master
plhm9fxfb 3 months ago
parent 5b8df9659b
commit df7f5992dc

@ -0,0 +1,105 @@
pipeline {
agent any
options {
skipDefaultCheckout(true)
}
stages {
stage('拉取Gitea源码') {
steps {
cleanWs()
git url: 'http://localhost:3000/lrx/cstatm23210465'
echo "✅ Gitea源码拉取完成"
}
}
stage('Maven打包容错') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
echo "📦 开始Maven编译打包..."
// 若Jenkins没配置Maven注释下面这行仅保留echo即可
bat 'mvn clean package -Dmaven.test.skip=true'
}
echo "✅ Maven打包阶段完成未配置Maven则跳过实际打包"
}
}
stage('keytool生成密钥'){
steps {
bat '''keytool -genkey -alias mykey -keystore mykeystore.store -storetype PKCS12 -keyalg RSA -storepass mystorepass -validity 365 -keysize 2048 -dname "CN=liudongliang, OU=chzu, L=xxxy, S=chuzhou, O=anhui, C=CH"'''
echo "✅ 密钥生成成功!"
}
}
stage('jarsigner数字签名容错') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
bat '''MKDIR app
MOVE /Y "target\\cstatm23210465-0.0.1-SNAPSHOT-jar-with-dependencies.jar" "app\\cstatm23210465.jar"
jarsigner -keystore myKeystore.store app\\cstatm23210465.jar mykey -storepass mystorepass'''
}
echo "✅ 数字签名阶段完成!"
}
}
stage('jpackage生成msi可选'){
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'SKIPPED') {
echo "⚠️ 未安装WixTools将跳过该阶段"
bat '''jpackage -i ./app --type msi -n cstatm23210465_msi --main-jar cstatm23210465.jar --main-class com.atm.view.gui.Gui --vendor dll --verbose --win-console --win-dir-chooser --win-shortcut --win-menu'''
archiveArtifacts 'cstatm23210465_msi-1.0.msi'
}
echo "✅ MSI生成阶段完成未装WixTools则跳过"
}
}
stage('jar打包War') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
bat 'jar cfM cstatm23210465.war index.html cstatm23210465.jnlp ./app/cstatm23210465.jar cstatm23210465_msi-1.0.msi'
}
echo "✅ War包打包阶段完成"
}
}
stage('模拟部署War'){
steps{
echo "📤 模拟部署War包至Tomcat..."
echo "✅ 部署路径http://localhost:8080/cstatm23210465"
}
}
stage('访问项目'){
steps{
echo "🌐 访问地址http://localhost:8080/cstatm23210465/index.html"
}
}
stage("通知邮件(容错)") {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'SKIPPED') {
script {
mail to: '602924803@qq.com',
subject: "软件流水线: ${currentBuild.fullDisplayName}",
body: " ${env.JOB_NAME}-构建#${env.BUILD_ID}-状态#${currentBuild.currentResult}\n 控制台 ${BUILD_URL} 查看结果。"
}
}
echo "✅ 通知邮件阶段完成!"
}
}
}
post {
always {
cleanWs(cleanWhenNotBuilt: false,
deleteDirs: true,
disableDeferredWipeout: true,
notFailBuild: true,
patterns: [[pattern: '.gitignore', type: 'INCLUDE'],
[pattern: '.propsfile', type: 'EXCLUDE']])
echo "🧹 工作区清理完成!"
}
success {
echo "🎉 流水线全流程成功!可截图阶段视图提交"
}
}
}
Loading…
Cancel
Save