2017-11-24 15 views
8

私はkuberntes-pluginを使用していました。そのREADMEでは宣言的パイプラインで複数のコンテナを定義する方法は?

podTemplate(label: 'mypod', containers: [ 
    containerTemplate(name: 'maven', image: 'maven:3.3.9-jdk-8-alpine', ttyEnabled: true, command: 'cat'), 
    containerTemplate(name: 'golang', image: 'golang:1.8.0', ttyEnabled: true, command: 'cat') 
    ]) { 
    node('mypod') { 

ように私は、宣言型のパイプラインについては、以下を試してみました、複数の容器画像とスクリプトのパイプラインを作成する方法を与えています。

pipeline { 
    agent { 
    kubernetes { 
     //cloud 'kubernetes' 
     label 'mypod' 
     containerTemplate { 
     name 'maven' 
     image 'maven:3.3.9-jdk-8-alpine' 
     ttyEnabled true 
     command 'cat' 
     } 
     containerTemplate { 
     name 'containtertwo' 
     image 'someimage' 
     ttyEnabled true 

     } 
    } 
    } 

1つのコンテナでポッドを作成します。

複数のcontainerTemplatesを宣言パイプラインで使用する方法は?

+0

解決方法をお探しですか?スクリプトパイプラインを使用する – maffo

+0

。 – chandan

答えて

0

これはあなたの問題に対する解決策ではありませんが、探した後に見つけた情報です。

KubernetesDeclarativeAgentには、単一のcontainerTemplateしかありません。 containerTemplateがコンテナのコレクションの最下部にあるものは、使用されるコンテナになります。

例では、containtertwoになります。

複数のトップレベルを持つことはできませんagents、エージェント内で複数のkubernetesを持つことはできません。そして今、あなたは複数のコンテナを持つことができません。私は、何らかの種類のエラーや警告がスローされた場合には好きです。

私は考えることができる2つの回避策があります。宣言型を使用する必要がある場合は、stageagentを追加できますが、これは独自の問題につながる可能性があります。もう一つはスクリプトパイプラインです。これは私がやることです。

これに関するドキュメントは、多くのことを望んでいます。

関連する問題