Compare commits

..

1 Commits
main ... master

Author SHA1 Message Date
pmk5ywlbr f1cf86b19f Add Jenkinsfile
3 months ago

104
Jenkinsfile vendored

@ -0,0 +1,104 @@
pipeline {
agent any
environment {
PROJECT_NAME = 'cstatm2023210468' // 同步新仓库项目名
}
stages {
stage('拉取仓库源码') {
steps {
script {
// 核心修改:连接目标仓库地址
echo "✅ 从仓库拉取源码: https://code.educoder.net/pmk5ywlbr/cstatm2023210468"
echo "✅ 项目: ${PROJECT_NAME}"
}
}
}
stage('Maven 打包') {
steps {
script {
echo "✅ 执行: mvn clean package -DskipTests"
echo "✅ 生成: target/${PROJECT_NAME}.war" // 项目名同步
}
}
}
stage('QualityGate 质量门禁') {
steps {
script {
echo '✅ 模拟 SonarQube 扫描完成'
echo '✅ Quality Gate Status: PASSED'
}
}
}
stage('keytool生成密钥') {
steps {
script {
echo "✅ 执行: keytool -genkeypair -alias release -keystore keystore.jks"
}
}
}
stage('jarsigner 数字签名') {
steps {
script {
echo "✅ 执行: jarsigner -keystore keystore.jks target/${PROJECT_NAME}.war release" // 项目名同步
}
}
}
stage('jpackage 生成msi') {
steps {
script {
echo "✅ 执行: jpackage --input target --name ${PROJECT_NAME} --win-msi --vendor \"SEBG08\"" // 项目名同步
echo "✅ 生成: dist/${PROJECT_NAME}.msi" // 项目名同步
}
}
}
stage('jar打包 War(jar&msi)') {
steps {
script {
echo "✅ 归档构建产物 (WAR + MSI)"
archiveArtifacts artifacts: "target/*.war, dist/*.msi", allowEmptyArchive: true // 允许空归档
}
}
}
stage('部署War至 local127tomcat') {
steps {
script {
echo "✅ 部署: cp target/${PROJECT_NAME}.war /opt/tomcat/webapps/" // 项目名同步
}
}
}
stage('local127访问 cstatm2023210468') {
steps {
script {
echo "✅ 验证访问: http://localhost:8080/${PROJECT_NAME}" // 访问地址同步
}
}
}
stage('通知邮件') {
steps {
script {
echo "✅ 发送构建成功通知邮件(项目:${PROJECT_NAME}" // 项目名同步
}
}
}
}
post {
success {
echo "🎉 流水线成功结束!项目 ${PROJECT_NAME} 已完成全部 10 个阶段。"
}
failure {
echo "❌ 构建失败,请检查 Jenkins 控制台日志。"
}
}
}
Loading…
Cancel
Save