Czy komentarze są możliwe w pliku Jenkinsfile? Jeśli tak, jaka jest składnia?
Używam deklaratywnej składni potoku.
Chcę skomentować sekcję „post” poniżej, dopóki mój serwer SMTP nie będzie działał.
pipeline {
agent { label 'docker-build-slave' }
environment {
IMAGE = 'registry.gitlab.com/XXXXX/bible-server'
DOCKER_REGISTRY_CREDENTIALS = credentials('DOCKER_REGISTRY_CREDENTIALS')
}
options {
timeout(10)
}
stages {
stage('Test') {
steps {
sh 'yarn'
sh 'npm test'
}
}
stage('Build') {
when {
branch '*/master'
}
steps {
sh 'docker login -u ${DOCKER_REGISTRY_CREDENTIALS_USR} -p ${DOCKER_REGISTRY_CREDENTIALS_PSW} registry.gitlab.com'
sh 'docker build -t ${IMAGE}:${BRANCH_NAME} .'
sh 'docker push ${IMAGE}:${BRANCH_NAME}'
}
}
stage('Deploy') {
when {
branch '*/master'
}
steps {
echo 'Deploying ..'
}
}
}
post {
success {
mail to: "[email protected]", subject:"SUCCESS: ${currentBuild.fullDisplayName}", body: "Yay, we passed."
}
failure {
mail to: "[email protected]", subject:"FAILURE: ${currentBuild.fullDisplayName}", body: "Boo, we failed."
}
}
}
jenkins
groovy
comments
jenkins-pipeline
danday74
źródło
źródło
Odpowiedzi:
Plik Jenkinsfile jest napisany w stylu groovy, który wykorzystuje formę komentarzy w języku Java (i C):
źródło
pipeline { ... stage('Set Tagging') { steps { sh ''' echo "env.m_time='$m_time'" > ${params_file} echo "env.m_comp_tag='${BRANCH_NAME}_${m_time}_${BUILD_NUMBER}'" >> ${params_file} /* echo "env.docker_ws='/usr/local/lib/node_modules/${repo}'" >> ${params_file} */ ''' <
powoduje błąd / błąd uprawnień bashsh
sekcji musiałbyś użyć znaku komentarza powłoki:#
Możesz użyć bloku (/ *** /) lub komentarza jednowierszowego (//) dla każdego wiersza. Powinieneś użyć "#" w poleceniu sh.
Zablokuj komentarz
Pojedyncza linia
Komentarz w komendzie „sh”
źródło
Komentarze działają dobrze w każdym ze zwykłych formularzy Java / Groovy, ale obecnie nie można ich używać
groovydoc
do przetwarzania swoichJenkinsfile
.Po pierwsze,
groovydoc
dławi się plikami bez rozszerzeń z cudownym błędem... a po drugie, o ile wiem, polecenia w stylu Javadoc na początku
groovy
skryptu są ignorowane. Więc nawet jeśli skopiujesz / zmienisz nazwęJenkinsfile
doJenkinsfile.groovy
, nie uzyskasz zbyt użytecznego wyniku.Chcę móc korzystać z
komentarz na początku mojego pliku Jenkins. Nie ma takiego szczęścia (jeszcze).
groovydoc
będzie przetwarzał klasy i metody zdefiniowane w twoim,Jenkinsfile
jeśli przejdziesz-private
do polecenia.źródło
Oficjalna dokumentacja Jenkins wspomina tylko pojedynczej linii poleceń tak:
i ( patrz )
Składnia pliku Jenkins jest oparta na Groovy, więc do komentarzy można również użyć składni groovy . Zacytować:
lub
źródło