Open shift build config vs jenkinsfile



我们正在使用OpenShift。我有构建配置文件与jenkinsfile之间的混淆。我们需要两个还是一个就足够了。我已经看到的例子,在jenkinsfile docker构建是使用buildconfig文件定义的。在某些情况下,构建配置文件使用jenkinsfile作为构建策略。谁能解释一下这个问题?

BuildConfig是所有构建的基本类型,在构建配置中可以使用不同的构建策略,通过运行oc explain buildconfig.spec.strategy你可以看到它们。如果你想做一个docker构建你使用dockerStrategy,如果你想从源代码构建使用source2image你指定sourceStrategy

有时您有比简单地运行带有输出映像的构建更复杂的需求,假设您想运行构建,等待该映像部署到某个环境,然后运行一些自动化GUI测试。在这种情况下,您需要一个管道。如果您想从OpenShift Web控制台触发和配置这个管道,您可以在BuildConfig中使用jenkinsPipelineStrategy。在OpenShift中。. x web控制台这样的BuildConfigs被显示为管道而不是构建,即使它们都是真正的BuildConfigs。

任何带有jenkinsPipelineStrategy的BuildConfig都将由Jenkins Build Server在项目内部执行。Jenkins实例也可以有其他管道,这些管道在OpenShift Web控制台中没有映射或可见,如果你没有看到它们在OpenShift Web控制台中出现的好处,就不需要为每个Jenkins文件设置BuildConfig。

在jenkins文件中运行构建和使用非jenkins文件策略的BuildConfig的区别在于构建实际上是在jenkins构建代理中执行的,而不是在正常的OpenShift构建pod中执行的。

在我们公司,我们利用jenkinsFile管道和BuildConfigs与sourceStrategy的组合。我们不是直接在Jenkins构建代理中的Jenkins文件管道中运行构建,而是让管道调用OpenShift API,并告诉它使用sourceStrategy执行BuildConfig。所以基本上我们仍然使用s2i来构建图像,但是Jenkinsfile作为我们的CI/CD管道引擎。您可以在https://github.com/openshift/jenkins-client-plugin上找到一些示例。

最新更新