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'
    }

Staging 01

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 Staging 02 Staging 03 Staging 04 Staging 05