2017-08-30 5 views
1

私のbitbucket-pipelines.ymlファイルに次のコードを使用して、ステージングサーバーにコードをリモートでデカイします。BitBucketパイプライン上のapt-getの依存関係キャッシュ

image: php:7.1.1 

pipelines: 
    default: 
    - step: 
     script: 
      # install ssh 
      - apt-get update && apt-get install -y openssh-client 
      # get the latest code 
      - ssh [email protected] -F ~/.ssh/config "cd /path/to/code && git pull" 
      # update composer 
      - ssh [email protected] -F ~/.ssh/config "cd /path/to/code && composer update --no-scripts" 
      # optimise files 
      - ssh [email protected] -F ~/.ssh/config "cd /path/to/code && php artisan optimize" 

パイプラインが実行されるたびに、sshクライアントがすべて(ビルド時に〜30秒を追加)をダウンロードしてインストールされていることを除いて、このすべての作品、。このステップをキャッシュする方法はありますか?

apt-getステップをキャッシュするにはどうすればよいですか?例えば

、この作品のような何か(または、以下の作業を行うために必要とされているどのような変更):これは、あなたがあなた自身のドッカーイメージを使用する代わりに、のいずれかの必要がある典型的なシナリオである

pipelines: 
    default: 
    - step: 
     caches: 
      - aptget 
     script: 
      - apt-get update && apt-get install -y openssh-client 

definitions: 
    caches: 
    aptget: which ssh 

答えて

5

をAtlassianによって提供されるもの。 、そして、

FROM php:7.1.1 

RUN apt-get update && \ 
    apt-get install -y openssh-client 

DockerHubアカウントを作成し、画像を公開し、bitbucket-pipelines.ymlでそれを参照:(。または、まさにこれを提供ドッカーの画像を検索)

あなたの簡単な場合には、このDockerfileは十分なはずです。

関連する問題