Taula de continguts

Sesión 11 Jenkins

big data (Cloudera)

cloudera-introduction.pdf

Jenkins

en otras sesiones

GitLab demo 1: GitLab demo 1 Job:

docker run --name demo1-${BUILD_NUMBER} --rm -d gitlab/nginx-demo1
sleep 15
CONTAINER_IP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' demo1-${BUILD_NUMBER})
CODE_STATUS=$(curl -sI ${CONTAINER_IP} | grep -c "^HTTP/1.1 200")
docker stop demo1-${BUILD_NUMBER}
 
#[[ ${CODE_STATUS} == 1 ]] && { echo "OK"; exit 0; } || { echo "KO";exit 1; }
if [ ${CODE_STATUS} -eq 1 ]; then {
	exit 0; 
} else { 
    exit 1;
}
fi

gitlab demo 1 pipeline:

node {
   stage("build") {
        def job = build job: 'gitlab demo1'
   }

   stage("execute") {
        def job = build job: 'gitlab demo1 job'
   }
   
   stage("publish") {
        def job = build job: 'gitlab demo1 publish'
   }
}

gitlab demo1 publish:

node ("docker-agent") {
    stage ("tag") {
        sh ('docker tag gitlab/nginx-demo1:latest registry.floss.cat/mate/demo1:latest')
    }
    
    stage ("push") {
        withCredentials([usernamePassword(credentialsId: 'registry.floss.cat', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
            sh('''
                docker login --username=${USERNAME} --password=${PASSWORD} registry.floss.cat
                docker push registry.floss.cat/mate/demo1:latest
            ''')
        }
    }
}

pipelines

k8s