diff --git a/Jenkinsfile b/Jenkinsfile index 4ba477d3..59e19bf9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,149 +1,21 @@ -pipeline { - agent none +pipeline{ + agent any - environment { - MAJOR_VERSION = 1 + options{ + buildDiscaarder(logRotation(numToKeep '2', archive '1')) } stages { - stage('Say Hello') { - agent any + stage('build'){ + steps{ - steps { - sayHello 'Awesome Student!' - } - } - stage('Printing Git Info') { - agent any - - steps { - script { - def myLib = new linuxacademy.git.gitStuff(); - - echo "${env.WORKSPACE}/.git" - - echo myLib.gitInfo("${env.WORKSPACE}/.git", 'branch') - - echo myLib.gitInfo("${env.WORKSPACE}/.git", 'commit') - } - } - } - stage('Git Information') { - agent any - - steps { - echo "My Branch Name: ${env.BRANCH_NAME}" - - script { - def myLib = new linuxacademy.git.gitStuff(); - - echo "My Commit: ${myLib.gitCommit("${env.WORKSPACE}/.git")}" - } - } - } - stage('Unit Tests') { - agent { - label 'apache' - } - steps { - sh 'ant -f test.xml -v' - junit 'reports/result.xml' - } - } - stage('build') { - agent { - label 'apache' - } - steps { - sh 'ant -f build.xml -v' - } - post { - success { - archiveArtifacts artifacts: 'dist/*.jar', fingerprint: true - } - } - } - stage('deploy') { - agent { - label 'apache' - } - steps { - sh "if ![ -d '/var/www/html/rectangles/all/${env.BRANCH_NAME}' ]; then mkdir /var/www/html/rectangles/all/${env.BRANCH_NAME}; fi" - sh "cp dist/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar /var/www/html/rectangles/all/${env.BRANCH_NAME}/" - } - } - stage("Running on CentOS") { - agent { - label 'CentOS' - } - steps { - sh "wget http://brandon4231.mylabserver.com/rectangles/all/${env.BRANCH_NAME}/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar" - sh "java -jar rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar 3 4" - } - } - stage("Test on Debian") { - agent { - docker 'openjdk:8u121-jre' - } - steps { - sh "wget http://brandon4231.mylabserver.com/rectangles/all/${env.BRANCH_NAME}/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar" - sh "java -jar rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar 3 4" - } - } - stage('Promote to Green') { - agent { - label 'apache' - } - when { - branch 'master' - } - steps { - sh "cp /var/www/html/rectangles/all/${env.BRANCH_NAME}/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar /var/www/html/rectangles/green/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar" - } - } - stage('Promote Development Branch to Master') { - agent { - label 'apache' - } - when { - branch 'development' - } - steps { - echo "Stashing Any Local Changes" - sh 'git stash' - echo "Checking Out Development Branch" - sh 'git checkout development' - echo 'Checking Out Master Branch' - sh 'git pull origin' - sh 'git checkout master' - echo 'Merging Development into Master Branch' - sh 'git merge development' - echo 'Pushing to Origin Master' - sh 'git push origin master' - echo 'Tagging the Release' - sh "git tag rectangle-${env.MAJOR_VERSION}.${env.BUILD_NUMBER}" - sh "git push origin rectangle-${env.MAJOR_VERSION}.${env.BUILD_NUMBER}" - } - post { - success { - emailext( - subject: "${env.JOB_NAME} [${env.BUILD_NUMBER}] Development Promoted to Master", - body: """
'${env.JOB_NAME} [${env.BUILD_NUMBER}]' Development Promoted to Master":
-Check console output at "${env.JOB_NAME} [${env.BUILD_NUMBER}]"
""", - to: "brandon@linuxacademy.com" - ) - } + sh 'ant -f build.xml' } } } - post { - failure { - emailext( - subject: "${env.JOB_NAME} [${env.BUILD_NUMBER}] Failed!", - body: """'${env.JOB_NAME} [${env.BUILD_NUMBER}]' Failed!":
-Check console output at "${env.JOB_NAME} [${env.BUILD_NUMBER}]"
""", - to: "brandon@linuxacademy.com" - ) + post{ + always{ + archive 'dist/*.jar' } } } diff --git a/README.md b/README.md index 0b52b34a..10b15fe6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # java-project Java Project for Jenkins Course + new test diff --git a/Real_Jenkinsfile b/Real_Jenkinsfile new file mode 100644 index 00000000..4ba477d3 --- /dev/null +++ b/Real_Jenkinsfile @@ -0,0 +1,149 @@ +pipeline { + agent none + + environment { + MAJOR_VERSION = 1 + } + + stages { + stage('Say Hello') { + agent any + + steps { + sayHello 'Awesome Student!' + } + } + stage('Printing Git Info') { + agent any + + steps { + script { + def myLib = new linuxacademy.git.gitStuff(); + + echo "${env.WORKSPACE}/.git" + + echo myLib.gitInfo("${env.WORKSPACE}/.git", 'branch') + + echo myLib.gitInfo("${env.WORKSPACE}/.git", 'commit') + } + } + } + stage('Git Information') { + agent any + + steps { + echo "My Branch Name: ${env.BRANCH_NAME}" + + script { + def myLib = new linuxacademy.git.gitStuff(); + + echo "My Commit: ${myLib.gitCommit("${env.WORKSPACE}/.git")}" + } + } + } + stage('Unit Tests') { + agent { + label 'apache' + } + steps { + sh 'ant -f test.xml -v' + junit 'reports/result.xml' + } + } + stage('build') { + agent { + label 'apache' + } + steps { + sh 'ant -f build.xml -v' + } + post { + success { + archiveArtifacts artifacts: 'dist/*.jar', fingerprint: true + } + } + } + stage('deploy') { + agent { + label 'apache' + } + steps { + sh "if ![ -d '/var/www/html/rectangles/all/${env.BRANCH_NAME}' ]; then mkdir /var/www/html/rectangles/all/${env.BRANCH_NAME}; fi" + sh "cp dist/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar /var/www/html/rectangles/all/${env.BRANCH_NAME}/" + } + } + stage("Running on CentOS") { + agent { + label 'CentOS' + } + steps { + sh "wget http://brandon4231.mylabserver.com/rectangles/all/${env.BRANCH_NAME}/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar" + sh "java -jar rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar 3 4" + } + } + stage("Test on Debian") { + agent { + docker 'openjdk:8u121-jre' + } + steps { + sh "wget http://brandon4231.mylabserver.com/rectangles/all/${env.BRANCH_NAME}/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar" + sh "java -jar rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar 3 4" + } + } + stage('Promote to Green') { + agent { + label 'apache' + } + when { + branch 'master' + } + steps { + sh "cp /var/www/html/rectangles/all/${env.BRANCH_NAME}/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar /var/www/html/rectangles/green/rectangle_${env.MAJOR_VERSION}.${env.BUILD_NUMBER}.jar" + } + } + stage('Promote Development Branch to Master') { + agent { + label 'apache' + } + when { + branch 'development' + } + steps { + echo "Stashing Any Local Changes" + sh 'git stash' + echo "Checking Out Development Branch" + sh 'git checkout development' + echo 'Checking Out Master Branch' + sh 'git pull origin' + sh 'git checkout master' + echo 'Merging Development into Master Branch' + sh 'git merge development' + echo 'Pushing to Origin Master' + sh 'git push origin master' + echo 'Tagging the Release' + sh "git tag rectangle-${env.MAJOR_VERSION}.${env.BUILD_NUMBER}" + sh "git push origin rectangle-${env.MAJOR_VERSION}.${env.BUILD_NUMBER}" + } + post { + success { + emailext( + subject: "${env.JOB_NAME} [${env.BUILD_NUMBER}] Development Promoted to Master", + body: """'${env.JOB_NAME} [${env.BUILD_NUMBER}]' Development Promoted to Master":
+Check console output at "${env.JOB_NAME} [${env.BUILD_NUMBER}]"
""", + to: "brandon@linuxacademy.com" + ) + } + } + } + } + post { + failure { + emailext( + subject: "${env.JOB_NAME} [${env.BUILD_NUMBER}] Failed!", + body: """'${env.JOB_NAME} [${env.BUILD_NUMBER}]' Failed!":
+Check console output at "${env.JOB_NAME} [${env.BUILD_NUMBER}]"
""", + to: "brandon@linuxacademy.com" + ) + } + } +}