user-microservice/Jenkinsfile
2025-06-08 16:56:35 +00:00

50 lines
1.4 KiB
Groovy

pipeline {
agent {
kubernetes {
label 'kubernetes-agent'
yamlFile 'podTemplate.yaml'
}
}
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('docker') {
sh '''
docker build -t ${DOCKER_IMAGE} .
echo "${ACR_PASSWORD}" | docker login marcin00.azurecr.io -u ${ACR_USERNAME} --password-stdin
docker push ${DOCKER_IMAGE}
'''
}
}
}
}
}