Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在执行Jenkins文件之前执行代码_Jenkins_Jenkins Pipeline_Jenkinsfile - Fatal编程技术网

在执行Jenkins文件之前执行代码

在执行Jenkins文件之前执行代码,jenkins,jenkins-pipeline,jenkinsfile,Jenkins,Jenkins Pipeline,Jenkinsfile,我们使用git存储库中的Jenkinsfiles来定义Jenkins CI应该如何执行 在执行respository的Jenkinsfile定义的管道之前,是否可以注入一些代码、步骤等?有时,我们需要在运行管道之前添加一些步骤 执行maven作业的示例如下: Jenkins文件包含克隆、构建、测试和安装步骤 因此,运行管道作业将使用以下步骤创建管道: cloneFromGit->buildMvn->testMvn->installMvn 但是,我们需要确保所有构建工件(JAR

我们使用git存储库中的
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