Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

apt-getの依存関係キャッシュ方法について

yogawa_week November 14, 2018

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

1 answer

2 votes
K_ Yamamoto
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 14, 2018

こんにちは、アトラシアンの山本です。

一般に apt package のキャッシュディレクトリは下記コマンドで動的に取得できるようです。

eval $(apt-config shell CACHE Dir::Cache)

Ref. Stack Exchange

こちらで取得できる $CACHE 変数の指定をご検討ください。

あるいは ssh などを含めてセットアップ済みの環境を Docker イメージとして作成しておきレイヤーをキャッシュさせるのも手かと存じます。

yogawa_week November 14, 2018

早々にご回答ありがとうございます。

さっそくキャッシュディレクトリの確認を行いました。

apt-get後にキャッシュディレクトリを確認してもキャッシュされていないようなのですが、キャッシュさせるテクニックがあるのでしょうか?

eval $(apt-config shell CACHE Dir::Cache)
eval $(apt-config shell ARCHIVES Dir::Cache::archives)

apt-get update && apt-get install -y ssh
ls -la /${CACHE}${ARCHIVES}
total 28
drwxr-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 lock
drwxr-xr-x. 1 root root 4096 Nov 15 05:22 partial
Like K_ Yamamoto likes this
K_ Yamamoto
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 6, 2018

類似の問題について検索してみましたがパッケージをキャッシュさせるのは難しいようでDocker にて環境を作成することがおすすめされておりました。

参考: Stack Overflow

環境のポータビリティも向上しますので Docker を採用するのがよいかとお見受けしました。Bitbucket Pipelines における Docker の利用方法についてはドキュメント Bitbucket Pipelines で Docker コマンドを実行する をご参照ください。

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events