Mein Projekt verfügt über eine Jenkinsfile, die problemlos ausgeführt wird. Das Problem ist, dass ich nur bei bestimmten Gelegenheiten Befehle ausführen muss. Ich benutze das Github-Plugin. Ich muss die Bereitstellung nur ausführen, wenn sie sich im Master oder einem neuen Tag befindet, einer wird für die Bereitstellung und der andere für die Produktion verwendet.Verwenden von Jenkins zum Bereitstellen auf Staging und Produktion basierend auf Bedingung
pipeline {
agent any
stages {
stage('Test') {
steps {
sh 'node -v'
sh 'yarn install'
sh 'yarn test -- --coverage'
}
}
stage('Build') {
steps {
sh 'yarn build'
}
}
stage('Deploy') {
steps {
sh 'aws s3 sync ./build s3://my.bucket --only-show-errors'
}
}
}
}
Ich brauche den Master in einem Eimer zu implementieren und wenn es ein neues Tag zu einem anderen ist. Wie kann ich diese Bedingung erstellen?
Dies würde Commits in jedem Zweig bereitstellen. Ich brauche einen Master und einen Tag Release, ist das möglich? –
@IbnClaudius, änderte die Antwort, um die Erklärung zu geben, wie "wann" Bedingungen funktionieren. Man beachte das '! (GIT_BRANCH == 'master') in der' Deploy_NonMaster'-Stufe, die explizit angibt, dass diese Stufe für andere Zweige als Master ausgeführt wird. – Zloj
Aber ich muss für Änderungen auf Master-und Github-Tag-Releases bereitstellen. Bei der Master-Bereitstellung für die Bereitstellung und für die Produktion. Wo in Ihrer Jenkinsfile ist die Bedingung, die nur auf Tags läuft? –