47 lines
1.4 KiB
Groovy
47 lines
1.4 KiB
Groovy
def call(Map config = [:]) {
|
|
def pythonVersion = config.get('PYTHON_VERSION', '3.12-slim')
|
|
def environment = config.get('ENVIRONMENT', 'DEV')
|
|
|
|
pipeline {
|
|
agent none
|
|
|
|
parameters {
|
|
string(name: 'PYTHON_VERSION', defaultValue: pythonVersion, description: 'Version de l\'image Python')
|
|
choice(name: 'ENVIRONMENT', choices: ['DEV', 'PROD'], description: 'Environnement de déploiement')
|
|
}
|
|
|
|
stages {
|
|
stage('Package') {
|
|
agent {
|
|
kubernetes {
|
|
yaml """
|
|
apiVersion: v1
|
|
kind: Pod
|
|
spec:
|
|
containers:
|
|
- name: build
|
|
image: python:${params.PYTHON_VERSION}
|
|
command: ["sleep"]
|
|
args: ["infinity"]
|
|
env:
|
|
- name: ENV_TYPE
|
|
value: "${params.ENVIRONMENT}"
|
|
"""
|
|
}
|
|
}
|
|
steps {
|
|
container('build') {
|
|
sh '''
|
|
echo "Image Python utilisée : python:${PYTHON_VERSION}"
|
|
echo "Environnement ciblé : ${ENVIRONMENT}"
|
|
echo "Nom de l'hôte dans le pod : $(hostname)"
|
|
echo "webhook"
|
|
sleep 5
|
|
echo "done"
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |