101 lines
3.2 KiB
Groovy
101 lines
3.2 KiB
Groovy
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'
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|