2017-10-30 9 views
0

ボックスが正しく挿入されていると仮定して、Vagrant環境のインストールファイルをキャッシュする理由を探しています。vagrant box add。このアイデアは、最初のダウンロードステップの後でオフライン環境でボックスプロビジョニングをテスト/開発すること、または同じノードコピーに対して同じアーティファクトをダウンロードする時間を節約することです(たとえば、同じスレーブを10個実行する場合など)。Vagrantのキャッシュダウンロード

「正しい」方法でこれを達成する方法を知りません。私の最初の考えは、Vagrantプロジェクトに必要なファイルを共有フォルダにダウンロードし、プロビジョニング中にこれらのファイルを使用することです(したがって、ボックスごとに繰り返しcurl/wgetを実行する必要はありません)。

答えて

0

私が書いた:

$share = "share" 

Dir.mkdir($share) unless Dir.exist?($share) 

# https://pkg.jenkins.io/debian/ 
$jenkins_deb_url = "https://pkg.jenkins.io/debian/binary/jenkins_2.86_all.deb" 
$jenkins_deb_file = $share+"/jenkins.deb" 

if ! File.exist?($jenkins_deb_file) 
    require 'open-uri' 
    download = open($jenkins_deb_url) 
    IO.copy_stream(download, $jenkins_deb_file) 
end 

をそれは完璧ではありませんし、私はそれが完全にオフラインにする(つまり、ジェンキンスの依存関係を満たす必要がある)を確実apt-get install依存関係のダウンロードを自動化することはできません。

関連する問題