私は同じ問題を持っていたとのコミットを無視することを行います。私はパイプラインを使用しています。私はshared libraryを実装してこの問題を解決しました。私Jenkinsfileで、その後
// vars/ciSkip.groovy
def call(Map args) {
if (args.action == 'check') {
return check()
}
if (args.action == 'postProcess') {
return postProcess()
}
error 'ciSkip has been called without valid arguments'
}
def check() {
env.CI_SKIP = "false"
result = sh (script: "git log -1 | grep '.*\\[ci skip\\].*'", returnStatus: true)
if (result == 0) {
env.CI_SKIP = "true"
error "'[ci skip]' found in git commit message. Aborting."
}
}
def postProcess() {
if (env.CI_SKIP == "true") {
currentBuild.result = 'NOT_BUILT'
}
}
:
ライブラリのコードはこれです
pipeline {
stages {
stage('prepare') { steps { ciSkip action: 'check' } }
// other stages here ...
}
post { always { ciSkip action: 'postProcess' } }
}
あなたが見ることができるように、ビルドはNOT_BUILT
としてマークされます。必要ならばABORTED
に変更できますが、a build result can only get worse
sh "git log -1"を試して関連するテキストをgrepしようとするので、
SUCCESS
に設定することはできません。 – Amityo@Amityo:本当に助けてくれてありがとう。もう1つのクエリが必要です...メッセージに[ci skip]の内容が含まれている場合、jenkinsfileでjenkinsビルドを防ぐ方法を教えてください。 –