Am fost forțat să schimb un server jenkins de la un server la altul de două ori. Prima dată, l-am mutat de pe un server Ubuntu 20.04 pe un Ubuntu 21 fără probleme; construcția (conducta multiram) a funcționat bine.
Dar acum am fost forțat să schimb din nou jenkins-ul pe un alt server care rulează Debian 10 și acum pipeline omite toți pașii, cu excepția procesării și postării (trimiterea unui e-mail).
Acesta este fișierul Jenkins:
conductă {
agent orice
mediu inconjurator {
GIT_BRANCH = „origine/${BRANCH_NAME}”
BRANCH_NAME = „${BRANCH_NAME}”
REGISTRY_CREDENTIALS = acreditări('REDACTED')
REGISTRY= „my.remote.registry”
}
etape {
etapă („Checkout”) {
pași {
checkout scm
}
}
stadiu („Construiți”) {
pași {
sh '''#!/bin/bash
cd ci
echo „BRANCH_NAME=$BRANCH_NAME”
echo „GIT_BRANCH=$GIT_BRANCH”
./build.sh my.remote.registry
'''
}
}
etapă („împinge”) {
pași {
sh '''#!/bin/bash
cd ci
echo „Conectarea în registrul $REGISTRY ca $REGISTRY_CREDENTIALS_USR...”
if ( ! autentificare docker -p "$REGISTRY_CREDENTIALS_PSW" -u "$REGISTRY_CREDENTIALS_USR" "$REGISTRY" ) ; atunci
echo „Nu s-a putut conecta la ${REGISTRY}. Se anulează...”
întoarcere 1;
fi
./push.sh dockdev.epiclabs.io
if [ -e alias.sh ] ; atunci
. ./gitinfo.sh
./alias.sh „$TAG” „$BRANCH” my.remote.registry
./push.sh --tag „$BRANCH” registrul meu.la distanță
fi
'''
}
}
stadiu („Implementare”) {
pași {
sh '''#!/bin/bash
cd ci
./deploy.sh „192.168.10.254/cid” my.remote.registry
'''
}
}
}
post {
mereu {
emailext attachLog: adevărat,
body: "${currentBuild.currentResult}: Job ${env.JOB_NAME} build ${env.BUILD_NUMBER}\n",
subiect: "CID Build ${currentBuild.currentResult}: Job ${env.JOB_NAME}",
către: „EXPULGAT”
}
}
}
Conducta se comportă bine pe primele două servere (deployare ar trebui să eșueze, nu asta e problema despre care vorbesc :) ):
Dar acum omite pași:
Nu există jurnale care să reflecte erori. Nu știu unde să mai caut.