来自Pipelinec和Openshift插件的SHA提交编号
当Github获得新的提交时,我使用with来自Pipelinec和Openshift插件的SHA提交编号,openshift,jenkins-pipeline,Openshift,Jenkins Pipeline,当Github获得新的提交时,我使用withJenkins管道在OpenShift中运行构建 我还希望能够向github报告构建的状态 然而为了做到这一点,我需要知道刚刚构建的提交是什么。我正在使用以下管道配置 node() { stage 'build' def builder = openshiftBuild(buildConfig: 'my-web', showBuildLogs: 'true') stage 'deploy' openshiftDeploy(d
Jenkins管道
在OpenShift中运行构建
我还希望能够向github报告构建的状态
然而为了做到这一点,我需要知道刚刚构建的提交是什么。我正在使用以下管道配置
node() {
stage 'build'
def builder = openshiftBuild(buildConfig: 'my-web', showBuildLogs: 'true')
stage 'deploy'
openshiftDeploy(deploymentConfig: 'my-web')
openshiftScale(deploymentConfig: 'my-web',replicaCount: '3')
}
但是,我不知道如何从openshiftBuild步骤中获取提交SHA,因为这会执行git拉操作。根据,您可以从git\u commit
环境变量中获取它
如果稍后发生签出,您可以使用以下代码获得它:
def gitCommitId = sh(returnStdout: true, script: 'git rev-parse HEAD')
如果看不到管道的其余部分,很难判断,但看起来您只是触发了OpenShift S2I构建,这不是管道构建的建议。您应该让管道为应用程序构建工件,然后使用S2I二进制构建让OpenShift将工件放入运行时容器中。例如,请参阅。这是否有帮助?恐怕不行:(因为git拉取发生在openshift构建中,所以此时变量似乎不可访问。您可以尝试
builder.getCommitID()吗)
从插件代码看,它似乎应该具有提交id?如果上述操作不起作用,您是否有权访问oc二进制文件?它似乎不起作用,因为一旦构建器完成,对象就会被清空。因此我得到一个空引用。我有权访问oc,但由于管道本身在Openshift中,我不确定我们是否可以调用它来自内部的OC命令。由于open shift builder似乎是自包含的,git rev parse似乎不存在。还尝试回显所有env,但git_提交不存在(在生成器运行之前或之后)。