在执行Jenkins文件之前执行代码
我们使用git存储库中的在执行Jenkins文件之前执行代码,jenkins,jenkins-pipeline,jenkinsfile,Jenkins,Jenkins Pipeline,Jenkinsfile,我们使用git存储库中的Jenkinsfiles来定义Jenkins CI应该如何执行 在执行respository的Jenkinsfile定义的管道之前,是否可以注入一些代码、步骤等?有时,我们需要在运行管道之前添加一些步骤 执行maven作业的示例如下: Jenkins文件包含克隆、构建、测试和安装步骤 因此,运行管道作业将使用以下步骤创建管道: cloneFromGit->buildMvn->testMvn->installMvn 但是,我们需要确保所有构建工件(JAR
Jenkinsfile
s来定义Jenkins CI应该如何执行
在执行respository的Jenkinsfile
定义的管道之前,是否可以注入一些代码、步骤等?有时,我们需要在运行管道之前添加一些步骤
执行maven作业的示例如下:
Jenkins文件包含克隆、构建、测试和安装步骤
因此,运行管道作业将使用以下步骤创建管道:
cloneFromGit->buildMvn->testMvn->installMvn
但是,我们需要确保所有构建工件(JAR等)都进入工件库。我们需要的是更新/更改Jenkins文件以添加额外步骤的能力。使用上述示例,我们需要能够让管道运行以下步骤:
cloneFromGit->buildMvn->testMvn->installMvn->pushToArtifactRepository
侵入式/简单的方法是将pushToArifactRepository
-步骤添加到所有Jenkins文件中,但是我们对任何给定的Jenkins文件的内容都没有(也不希望)控制权,我可以推荐使用。在这里,您可以定义不同管道作业之间共享的功能。然而,这需要每个Jenkinsfile
主动调用该“后期构建”任务。该任务的实际实现可以隐藏在全局库中,因此Jenkinsfile
可以非常简单
在我正在使用的示例中,我的s只会触发管道执行,如下所示:
def pipe = new org.typo3.chefci.v1.Pipeline()
pipe.execute()
实际的实现是在a中。这就是我的想法。我们目前正在使用全局库进行可选的“填充”。我们真的不想在所有Jenkins文件中强制执行最后一步,但如果这是唯一的方法,那就这样吧。我的意思是这个问题实际上并不具体。例如,有一个(从未亲自使用过)可以在每次构建后执行您的代码。不知道它是否也适用于WorkflowJob
。