2017-04-22 6 views
0

私はJenkinsで私のContinuous Delivery Systemを構築しています。たくさんのお金を使うのを避けるために、私はジェンキンズを立ち上げ、新しいEC2 m4.largeインスタンスをスポーンするように設定しました。新しいインスタンスがBitbucketにプッシュされました。このようにして、私は仕事をするときにのみ支払います。EC2スレーブからアーティファクトをマスターに送り返す方法

私の成果物はスレーブにとどまり、インスタンスが終了するとファイルにアクセスできなくなるという問題があります。私はこのように私のパイプラインを設定するアーティファクトアーカイブに

pipeline { 
agent { 
    node { 
    label 'jenkins-slave-spawn' 
    } 
} 
stages { 
    stage('prepare') { 
     steps { 
      sh 'npm install' 
      sh 'npm update' 
      dir ('./scripts/Web') { 
       sh 'bower install' 
       sh 'bower update' 
      } 
      dir ('./scripts/App') { 
       sh 'bower install' 
       sh 'bower update' 
      } 
      dir ('./scripts/Site'){ 
       sh 'bower install' 
       sh 'bower update' 
      } 
      dir ('./scripts/Assistance'){ 
       sh 'bower install' 
       sh 'bower update' 
      } 
     } 
    } 
    stage('build') { 
     steps { 
      sh 'grunt build-beta' 
     } 
    } 
    stage('archive') { 
     steps { 
      archiveArtifacts artifacts: '**/builds/*', onlyIfSuccessful: true 
     } 
    } 
} 

}

をしかし、私がどこでも自分のファイルを見ることができないので、動作しているようですしません。

+0

を切り替えるには、あなたのグロブパターンからディレクトリ内のファイルがありますか?アーカイブの前に 'ls'をすると、何が表示されますか? – Rik

答えて

1

私はスタッシュを使用しての方法を発見し、unstashノード

pipeline { 
agent { 
    node { 
    label 'jenkins-slave-spawn' 
    } 
} 
stages { 
    stage('prepare') { 
     steps { 
      sh 'npm install' 
      sh 'npm update' 
      dir ('./scripts/Web') { 
       sh 'bower install' 
       sh 'bower update' 
      } 
      dir ('./scripts/App') { 
       sh 'bower install' 
       sh 'bower update' 
      } 
      dir ('./scripts/Site'){ 
       sh 'bower install' 
       sh 'bower update' 
      } 
      dir ('./scripts/Assistance'){ 
       sh 'bower install' 
       sh 'bower update' 
      } 
     } 
    } 
    stage('build') { 
     steps { 
      sh 'grunt build-beta' 
     } 
    } 
    stage('deploy') { 
     steps { 
      echo 'here will use pm2 to start node app' 
     } 
    } 
    stage('archive') { 
     steps { 
      stash includes: 'builds/**', name: 'slave-artifacts' 
      node('master'){ 
       unstash 'slave-artifacts' 
      } 
     } 
    } 
} 
} 
関連する問題