user-microservice/Jenkinsfile
2025-06-08 12:19:09 +00:00

51 lines
1.4 KiB
Groovy

pipeline {
agent {
label 'jnlp'
}
environment {
ACR_USERNAME = 'marcin00'
ACR_PASSWORD = credentials('acr-password-secret-id')
DOCKER_REGISTRY_URL = 'marcin00.azurecr.io'
DOCKER_IMAGE = "${DOCKER_REGISTRY_URL}/user-microservice:${GIT_COMMIT}"
}
stages {
stage('Code Tests') {
steps {
container('python') {
dir('api') {
sh '''
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt pytest
python3 -m pytest --junit-xml=pytest_junit.xml
'''
}
}
}
post {
always {
junit testResults: '**/*pytest_junit.xml'
}
}
}
stage('Build & Push Docker') {
steps {
container('buildkitd') {
sh '''
buildctl build \
--frontend dockerfile.v0 \
--local context=. \
--local dockerfile=. \
--exporter docker \
--exporter-opt name=${DOCKER_IMAGE} \
--progress plain
'''
}
}
}
}
}