- damo-manager CLI 추가: DamoCli.java / Main-Class 선언
- Jenkinsfile 도입: 자동 빌드/테스트 워크플로 작성 - bypass 모드 도입: 시스템 프로퍼티로 암복호화 설정 분기
This commit is contained in:
Vendored
+88
@@ -0,0 +1,88 @@
|
||||
pipeline {
|
||||
agent { label 'djb-vm' }
|
||||
|
||||
triggers {
|
||||
pollSCM('H/10 * * * *')
|
||||
}
|
||||
|
||||
options {
|
||||
timestamps()
|
||||
disableConcurrentBuilds()
|
||||
buildDiscarder(logRotator(numToKeepStr: '20', artifactNumToKeepStr: '20'))
|
||||
}
|
||||
|
||||
environment {
|
||||
JAVA_HOME = '/apps/opts/jdk8'
|
||||
GRADLE_HOME = '/apps/opts/gradle-8.7'
|
||||
GRADLE_USER_HOME = '/apps/opts/gradle-home'
|
||||
PATH = "/apps/opts/jdk8/bin:/apps/opts/gradle-8.7/bin:/apps/opts/bin:${env.PATH}"
|
||||
GIT_SSH_COMMAND = 'ssh -o StrictHostKeyChecking=accept-new'
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
|
||||
stage('Verify toolchain') {
|
||||
steps {
|
||||
sh '''
|
||||
set -eu
|
||||
java -version
|
||||
gradle --version
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build JAR') {
|
||||
steps {
|
||||
sh 'gradle clean build --no-daemon'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Smoke test') {
|
||||
steps {
|
||||
sh '''
|
||||
set -eu
|
||||
echo "---- default (bypass) mode ----"
|
||||
java -cp build/libs/damo-manager.jar com.eactive.ext.djb.DamoManager
|
||||
echo "---- fake mode (-Ddamo-manager.enabled=true) ----"
|
||||
java -Ddamo-manager.enabled=true -cp build/libs/damo-manager.jar com.eactive.ext.djb.DamoManager
|
||||
echo "---- require-real must fail without scpdb ----"
|
||||
if java -Ddamo-manager.require-real=true -cp build/libs/damo-manager.jar com.eactive.ext.djb.DamoManager 2>/dev/null; then
|
||||
echo "ERROR: require-real should have failed without scpdb"; exit 1
|
||||
else
|
||||
echo "OK: require-real failed fast as expected"
|
||||
fi
|
||||
echo "---- CLI param mode ----"
|
||||
java -jar build/libs/damo-manager.jar info
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('Package & checksum') {
|
||||
steps {
|
||||
sh '''
|
||||
set -eu
|
||||
rm -rf build/dist
|
||||
mkdir -p build/dist
|
||||
cp build/libs/damo-manager.jar build/dist/
|
||||
cp README.md build/dist/
|
||||
cd build/dist
|
||||
sha1sum damo-manager.jar README.md > SHA1SUMS
|
||||
sha256sum damo-manager.jar README.md > SHA256SUMS
|
||||
ls -la
|
||||
echo "---- SHA256SUMS ----"
|
||||
cat SHA256SUMS
|
||||
'''
|
||||
}
|
||||
post {
|
||||
success {
|
||||
archiveArtifacts artifacts: 'build/dist/damo-manager.jar,build/dist/README.md,build/dist/SHA1SUMS,build/dist/SHA256SUMS', fingerprint: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user