我正在尝试与Jenkins Pipeline插件 Build 持续集成,到目前为止它确实令人失望 .
我真的想把Jenkinsfile中的不同构建步骤作为代码的一部分 .

但是我认为Jenkins Pipeline或Multibranch插件的配置非常差,或者只是不起作用 .

我想要实现的是每当我向Github推送一些东西时,它就会在Jenkins中触发一个Pipeline作业 .

我有一些自由式项目的工作,但正如我所说,我想使用管道 .

我对Pipeline的问题:

  • 如果我在Git插件配置中将分支构建为* / master时推送到主服务器,它只触发作业 .

  • 如果我将分支设置为空或**,则无论是推送开发,主控还是功能分支,它都不会触发作业 .

  • 如果我添加多个分支来构建(* / master,* / develop,/ feature /),那么无论是推送开发,主控还是功能分支,它都不会触发作业 .

  • 不支持带有其他行为的[ci-skip] "Polling ignores commit with certain messages"虽然我不确定哪个插件对此负责 . (Github,Git,Pipeline或其组合)

我对Multibranch的问题:

  • 扫描分支后,如果我推送新内容,则不会触发带有更改的构建 . 我不想使用轮询机制 . 我想要webhook机制来触发工作 .

有人有一个正确的工作配置示例没有提到过时的工作流程的东西?

这是Jenkinsfile:

#!groovy

pipeline {
    agent any

    stages {
        stage('Debug') {
            steps {
                sh 'node --version'
                sh 'npm --version'
            }
        }

        stage('Build') {
            steps {
                sh 'npm install'
            }
        }

        stage('Test') {
            steps {
                sh 'npm test'
            }
        }
    }
}