Kubernetes Jenkins插件有关管道语法的问题

问题描述

我对Kubernetes Plugin documentation中的示例有疑问:

public function scopeChildren($query)
{
  return $query->where([
    ['role_id','>',$this->role_id],['created_by','=',$this->id],]);
}
  1. 根据解释,git克隆是通过默认容器children完成的,而不是由主服务器完成的,那么该容器如何选择运行git命令?
  2. 容器user如何选择编译其他容器中的代码? $user->children()->get(); 实际发生了什么?
  3. 我正在使用Subversion,安装了Subversion插件后,我可以选择从Pod管道中的Subversion检出,所以我不了解podTemplate(containers: [ containerTemplate(name: 'maven',image: 'maven:3.3.9-jdk-8-alpine',ttyEnabled: true,command: 'cat'),containerTemplate(name: 'golang',image: 'golang:1.8.0',command: 'cat') ]) { node(POD_LABEL) { stage('Get a Maven project') { git 'https://github.com/jenkinsci/kubernetes-plugin.git' container('maven') { stage('Build a Maven project') { sh 'mvn -B clean install' } } } } } 容器上如何使用master上的插件? / li>

解决方法

如果您不指定容器,则该步骤将在指定的“ defaultContainer”中运行;如果未指定,则默认为agent-bound / jnlp(您也可以通过更改属性来更改它),并且其中确实包含“ git” cli,这就是您checkout命令起作用的原因。

POD中的所有容器共享一个“ workspaceVolume”。

在您的情况下,所有“代理绑定”,“ maven”和“ golang”容器都将共享此工作空间卷

因此,当您触发mvn命令时,它会在“ workspaceVolume”中运行,该命令已经具有上一结帐步骤中的代码。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...