DeployStage - silviaalejandra/todo-list-aws GitHub Wiki
Deploy Stage
La salida de las pruebas se encuentra en el fichero log/stagingPipeline.log
Creacion pipeline
Para el deploy de Stage se creó un job basando en el Jenkinsfile del repositorio de proyecto ubicado en /pipelines/PIPELINE-FULL-STAGING.
Se creó una versión unificada con /pipelines/PIPELINE-FULL-PRODUCTION y se agregó una validación para ejecutarlo de formal multibranch, pero que no se pueda desplegar produccion desde una rama development
stage('controlenvironment'){
when {
not {
branch 'master'
}
}
steps{
script {
if ( params.ENVIRONMENT == 'production' ) {
error "No cumple las condiciones para implementar en ${ENVIRONMENT} desde una rama de feature/dev"
}
}
}
}
A su vez se parametrizó el ENVIRONMENT lo cual llevó a un cambio de nombre en los directorios (Se reemplazaron mayúsculas por minúsculas en los nombres de los ambientes) esto para minimizar el impacto del cambio.
parameters {
choice choices: ['staging', 'production'], name: 'ENVIRONMENT'
}
Se configuró el pipeline multibranch y tomó las ramas del repositorio. Para mantener la lógica, se saltaron las pruebas en el despliegue a producción.
stage('Test'){
when {
expression { params.ENVIRONMENT == 'staging' }
}
steps{
echo 'Static program analysis:'
Pipeline staging