From 3b3f8e7162ec50edcfd0ac4a3e4ea1bea9efe435 Mon Sep 17 00:00:00 2001 From: Julian Arndt Date: Mon, 10 Apr 2023 12:31:44 +0200 Subject: [PATCH] Add build Jenkinsfile to git --- jenkinsfiles/build/Jenkinsfile | 66 ++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 jenkinsfiles/build/Jenkinsfile diff --git a/jenkinsfiles/build/Jenkinsfile b/jenkinsfiles/build/Jenkinsfile new file mode 100644 index 0000000..c6e1e19 --- /dev/null +++ b/jenkinsfiles/build/Jenkinsfile @@ -0,0 +1,66 @@ +pipeline { + agent any + + stages { + stage('Checkout') { + steps { + git branch: 'main', credentialsId: 'gitea', url: 'https://git.codeam.io/Julian/tlw-database-tool.git' + } + } + stage('Build') { + steps { + script { + String jdkPath = tool name: 'OpenJDK15', type: 'jdk' + withCredentials([usernamePassword(credentialsId: 'aws', passwordVariable: 'AWS_SECRET_KEY', usernameVariable: 'AWS_ACCESS_KEY_ID')]) { + withEnv(["JAVA_HOME=${jdkPath}/jdk-15", "AWS_SECRET_KEY=${AWS_SECRET_KEY}", "AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}"]) { + sh returnStdout: false, script: "./gradlew build -x test" + } + } + } + } + } + stage('Archive') { + steps { + archiveArtifacts artifacts: 'build/libs/tlw-database-tool-1.0.jar', followSymlinks: false + } + } + stage('Trigger') { + steps { + build wait: false, job: 'TippligaUpdater2023' + build wait: false, job: 'WTLPokalUpdater2023' + } + } + } + post { + always { + deleteDir() + } + failure { + telegramSendManual("Build failed!\n${env.BUILD_URL}console") + } + } +} + +private String clean(String orig) { + orig = orig.replace("\n\n", "\n") + while(orig.indexOf(" [main] INFO de.jeyp91.App - ") > 0) { + int index = orig.indexOf(" [main] INFO de.jeyp91.App - ") + String newString = orig.substring(0, index-12) + orig.substring(index+30, orig.size()) + orig = newString + } + return orig +} + +def telegramSendManual(String text) { + def encodedMessage = URLEncoder.encode(text, "UTF-8") + println encodedMessage + httpRequest( + httpMode: 'GET', + contentType: 'APPLICATION_JSON', + responseHandle: 'NONE', + url: "https://api.telegram.org/bot1298223079:AAEplcQpfzFG59qNYAYuSbJKtB9HMXCCE_U/sendMessage?text=$encodedMessage&chat_id=459231986&disable_web_page_preview=true", + wrapAsMultipart: false, + consoleLogResponseBody: true + ) + sleep 1 +} \ No newline at end of file