67 lines
2.0 KiB
Groovy
67 lines
2.0 KiB
Groovy
pipeline {
|
|
environment {
|
|
DOCKER_USERNAME = 'jenkins'
|
|
DOCKER_PASSWORD = credentials('gitea_jenkins')
|
|
SONAR_TOKEN = credentials('sonarcube_token')
|
|
POSTGRES_USER = 'postgres'
|
|
POSTGRES_PASSWORD = 'password'
|
|
POSTGRES_DB = 'arbeitszeitmessung'
|
|
}
|
|
|
|
agent any
|
|
|
|
stages {
|
|
stage('Test') {
|
|
agent {
|
|
docker {
|
|
image ''
|
|
args ''
|
|
args ''
|
|
}
|
|
}
|
|
steps {
|
|
script {
|
|
sh '''
|
|
docker run -d --rm \
|
|
--name test-db \
|
|
-e POSTGRES_USER={$POSTGRES_USER} \
|
|
-e POSTGRES_PASSWORD={$POSTGRES_PASSWORD} \
|
|
-e POSTGRES_DB={$POSTGRES_DB} \
|
|
-v ./DB/initdb:/docker-entrypoint-initdb.d\
|
|
-p "5432:5432" \
|
|
postgres:16
|
|
'''
|
|
// docker.image('golang:1.24.5').withRun(
|
|
// '-u root:root --network=host'
|
|
// ) { go ->
|
|
// // wait for DB to start
|
|
// sh '''
|
|
// cd Backend \
|
|
// go mod download && go mod tidy \
|
|
// go test ./... -v
|
|
|
|
// '''
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
stage('SonarCube Analysis') {
|
|
steps {
|
|
sh 'make scan'
|
|
}
|
|
}
|
|
stage('Building image arbeitszeit-backend') {
|
|
when {
|
|
anyOf {
|
|
changeset 'Jenkinsfile'
|
|
changeset 'Makefile'
|
|
changeset 'Backend/**'
|
|
}
|
|
}
|
|
steps {
|
|
sh 'make backend'
|
|
}
|
|
}
|
|
}
|
|
}
|