diff --git a/Jenkinsfile130 b/Jenkinsfile130 new file mode 100644 index 0000000..642f777 --- /dev/null +++ b/Jenkinsfile130 @@ -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 "🎉 流水线全流程成功!可截图阶段视图提交" + } + } +} \ No newline at end of file