def didRun = false pipeline { agent any tools { nodejs 'NodeJS-24.2.0' } // environment { // REGISTRY = 'https://gitea.innovation-hub-niedersachsen.de/' // USER = 'jared' // TOKEN = credentials('c661e484bb4f032f8a0a5b02cda6f3344ca584b5') // } parameters { string(name: 'REPO_NAME', defaultValue: '', description: 'Repo Name') string(name: 'GIT_REF', defaultValue: '', description: 'Git Ref') } options { buildDiscarder( BuildHistoryManager([ [ continueAfterMatch: false, matchAtMost: 5 ], [ actions: [ DeleteBuild() ] ] ]) ) } stages { stage('Lade Konfiguration') { steps { script { @Library('InnoHub-Library@master') // z. B. Methode in Library: getRepoConfig(repo, ref) def repoConfig = getRepoConfig(REPO_NAME, GIT_REF) echo "Gefunden: ${repoConfig.name}, Branch: ${repoConfig.branch}" echo repoConfig def jobsToTrigger = repoConfig.jobs } } } } stages { stage('Install Dependencies') { steps { script { didRun = true } sh 'npm ci' } } stage('Test & Security Audit') { steps { script { didRun = true } echo 'Start checking security vulnerabilities in npm packages' sh 'npm audit --audit-level=moderate' } } stage('Push image to gitea registry') { steps { script { didRun = true def tag = "innohub/tatort-dev:0.${env.BUILD_ID}" docker.withRegistry('https://gitea.innovation-hub-niedersachsen.de', 'JenkinsGitea') { docker.build(tag, '-f Dockerfile.dev .').push() } } } } } post { success { script { if (didRun) { echo 'Pipeline erfolgreich!' discordSend description: "Running ${env.BUILD_ID} on ${env.JENKINS_URL}, ${params.GIT_REF}", footer: 'Pipeline succeeded', link: env.BUILD_URL, result: currentBuild.currentResult, title: env.JOB_NAME, webhookURL: 'https://discordapp.com/api/webhooks/1389470542691831819/NdMO17sLBG2dplp_-oh6Ff0cbPOoADl0QwXKM9UzduxU44av_ZQkQjKTmpdK7YuwcZDc' } } } failure { script { if (didRun) { echo 'Pipeline fehlgeschlagen!' discordSend description: "Running ${env.BUILD_ID} on ${env.JENKINS_URL}, ${params.GIT_REF}", footer: 'Pipeline failed', link: env.BUILD_URL, result: currentBuild.currentResult, title: env.JOB_NAME, webhookURL: 'https://discordapp.com/api/webhooks/1389470542691831819/NdMO17sLBG2dplp_-oh6Ff0cbPOoADl0QwXKM9UzduxU44av_ZQkQjKTmpdK7YuwcZDc' } } } } }