Pipelinesにて、SSHコマンドを実行するため、apt-getにてsshのインストールを行いますが、ビルド時間を毎回40sほど消費します。
script: - apt-get update -y - apt-get install -y ssh
sshのインストールをキャッシュ機能で省略することはできないでしょうか?
以下の公式ドキュメント等を参照していますが、具体的な方法がわかりませんでした。https://ja.confluence.atlassian.com/bitbucket/caching-dependencies-895552876.html
こんにちは、アトラシアンの山本です。
一般に apt package のキャッシュディレクトリは下記コマンドで動的に取得できるようです。
eval $(apt-config shell CACHE Dir::Cache)<br>
Ref. Stack Exchange
こちらで取得できる $CACHE 変数の指定をご検討ください。
あるいは ssh などを含めてセットアップ済みの環境を Docker イメージとして作成しておきレイヤーをキャッシュさせるのも手かと存じます。
早々にご回答ありがとうございます。
さっそくキャッシュディレクトリの確認を行いました。
apt-get後にキャッシュディレクトリを確認してもキャッシュされていないようなのですが、キャッシュさせるテクニックがあるのでしょうか?
eval $(apt-config shell CACHE Dir::Cache)eval $(apt-config shell ARCHIVES Dir::Cache::archives)apt-get update && apt-get install -y sshls -la /${CACHE}${ARCHIVES}total 28drwxr-xr-x. 1 root root 4096 Nov 15 05:22 .drwxr-xr-x. 1 root root 4096 Jan 24 2017 ..-rw-r-----. 1 root root 0 Jan 16 2017 lockdrwxr-xr-x. 1 root root 4096 Nov 15 05:22 partial
類似の問題について検索してみましたがパッケージをキャッシュさせるのは難しいようでDocker にて環境を作成することがおすすめされておりました。
参考: Stack Overflow
環境のポータビリティも向上しますので Docker を採用するのがよいかとお見受けしました。Bitbucket Pipelines における Docker の利用方法についてはドキュメント Bitbucket Pipelines で Docker コマンドを実行する をご参照ください。
It looks like you're new here. Sign in or register to get started.