2017-10-12 9 views
0

Jenkinsfileの "agent"( "ノード"ではなく)を使用してチェックアウトの場所を指定する方法はありますか?エージェント(ノードではない)を使用してチェックアウトの場所を指定

pipeline { 
    agent { label 'my_label' } 
    stages { 
    stage('Checkout') { 
     steps { 
     // Dang. my_repo has already been checked out 
     dir('my_repo') { 
      checkout scm 
     } 
     } 
    } 
    } 
} 

あなたが「ノード」を使用する場合はこれを行うための能力を持っているようだが、私は「エージェント」に関係する方法を見つけるように見えることはできません。

答えて

1

あなたはskipDefaultCheckoutを()、その後、あなたが欲しいときにSCMをチェックアウトすることができます設定した場合:

pipeline { 
    agent { label 'my_label' } 
    options { 
    skipDefaultCheckout() 
    } 
    stages { 
    stage('Checkout') { 
     steps { 
     // SWEET! my_repo has not been checked out 
     dir('my_repo') { 
      checkout scm 
     } 
     } 
    } 
    } 
} 

また、のSCMのいくつかは、あなたが別のパスにチェックアウトをやらせる先進的なチェックアウトオプションを提供します。

複数のエージェントを使用する場合、別のエージェントを使用するたびに手動でチェックアウトする必要があります。同一のワークスペースを使用することができますが、保証はありません。あなたはcheckout scmを常に実行するべきです。

+0

恐ろしい!私はあなたにそれを知らなかった! – grayaii

+1

例えば、あなたは1つのエージェントに1つの特定のソフトウェアを持っているとか、ビルドの一部を実行する必要があるかもしれません。 –

+0

これはあなたの問題を解決しましたか?もしそうなら、これを受け入れられた答えとしてマークすることができれば幸いです。 –

関連する問題