def _build_layer(self): if self._should_use_yarn: blob, u_blob = self._gen_yarn_install_tar(self._directory) else: blob, u_blob = self._gen_npm_install_tar(self._directory) self._img = tar_to_dockerimage.FromFSImage( [blob], [u_blob], ftl_util.generate_overrides(False))
def _build_layer(self): python_util.setup_venv(self._venv_dir, self._venv_cmd, self._python_cmd) blob, u_blob = ftl_util.zip_dir_to_layer_sha(self._venv_dir, self._venv_dir) overrides = ftl_util.generate_overrides(True, self._venv_dir) self._img = tar_to_dockerimage.FromFSImage([blob], [u_blob], overrides)
def _build_layer(self): self._setup_venv() tar_path = tempfile.mktemp(suffix='.tar') tar_cmd = ['tar', '-cf', tar_path, self._venv_dir] ftl_util.run_command('tar_venv_interpreter', tar_cmd) u_blob = open(tar_path, 'r').read() # We use gzip for performance instead of python's zip. gzip_cmd = ['gzip', tar_path, '-1'] ftl_util.run_command('gzip_venv_interpreter', gzip_cmd) blob = open(os.path.join(tar_path + '.gz'), 'rb').read() overrides = ftl_util.generate_overrides(True, self._venv_dir) self._img = tar_to_dockerimage.FromFSImage([blob], [u_blob], overrides)
def BuildLayer(self): cached_img = None if self._cache: with ftl_util.Timing('checking_cached_pipfile_pkg_layer'): key = self.GetCacheKey() cached_img = self._cache.Get(key) self._log_cache_result(False if cached_img is None else True) if cached_img: self.SetImage(cached_img) else: self._pip_download_wheels(' '.join(self._pkg_descriptor)) whls = self._resolve_whls() if len(whls) != 1: raise Exception("expected one whl for one installed pkg") pkg_dir = self._whl_to_fslayer(whls[0]) blob, u_blob = ftl_util.zip_dir_to_layer_sha(pkg_dir, "") overrides = ftl_util.generate_overrides(False, self._venv_dir) self._img = tar_to_dockerimage.FromFSImage([blob], [u_blob], overrides) if self._cache: with ftl_util.Timing('uploading_pipfile_pkg_layer'): self._cache.Set(self.GetCacheKey(), self.GetImage())
def _build_layer(self): blob, u_blob = self._gen_composer_install_tar(self._directory, self._destination_path) self._img = tar_to_dockerimage.FromFSImage( [blob], [u_blob], ftl_util.generate_overrides(False))
def _build_layer(self): blob, u_blob = ftl_util.zip_dir_to_layer_sha(self._pkg_dir, "") overrides = ftl_util.generate_overrides(False) self._img = tar_to_dockerimage.FromFSImage([blob], [u_blob], overrides)