Puncte:1

Același Jenkinsfile funcționează diferit în două servere aparent egale

drapel bd

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 :) ): Conductă cu toate treptele

Dar acum omite pași: Conductă care omite toți pașii relevanți

Nu există jurnale care să reflecte erori. Nu știu unde să mai caut.

drapel bd
Ei bine, noul server încerca să folosească acreditări care nu mai existau.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.