def build_prepare(self): """ :return: (True, image_name) or (False, None) """ self._prepare_act() if self.build.prepare is None: error("build.prepare not found in lain.yaml.") exit(1) if (not mydocker.exist(self.img_names['prepare'])): params = { 'base': self.build.base, 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.prepare.script, } name = self.img_builders['prepare'](context=self.ctx, params=params, build_args=[]) if name is None: return (False, None) if mydocker.push(self.img_names['prepare']) != 0: warn("FAILED: docker push {}".format( self.img_names['prepare'])) return (True, name) else: return (True, self.img_names['prepare'])
def build_base(self, use_prepare=False): """ :return: (True, image_name) or (False, None) """ self._prepare_act() # image prepare if not (mydocker.exist(self.img_names['prepare']) and use_prepare): if not self.build_prepare()[0]: return (False, None) # image build params = { 'base': self.img_names['prepare'], 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.script, 'build_args': [arg.split('=')[0] for arg in self.build.build_arg] } name = self.img_builders['build'](context=self.ctx, params=params, build_args=self.build.build_arg) if name is None: return (False, None) return (True, name)
def build_base(self, use_prepare=False): """ :return: (True, image_name) or (False, None) """ self._prepare_act() base = self.build.base # image prepare if self.build.prepare is not None and use_prepare: base = self.img_names['prepare'] if not mydocker.exist(self.img_names['prepare']): if not self.build_prepare()[0]: return (False, None) if self.build.volumes is not None: return self.build_base_with_volumes(base) # image build params = { 'base': base, 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.script, 'build_args': [arg.split('=')[0] for arg in self.build.build_arg] } name = self.img_builders['build'](context=self.ctx, params=params, build_args=self.build.build_arg) if name is None: return (False, None) return (True, name)
def build_prepare(self): """ :return: (True, image_name) or (False, None) """ self._prepare_act() if self.build.prepare is None: error("build.prepare not found in lain.yaml.") exit(1) if (not mydocker.exist(self.img_names['prepare'])): params = { 'base': self.build.base, 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.prepare.script, } name = self.img_builders['prepare']( context=self.ctx, params=params, build_args=[]) if name is None: return (False, None) if mydocker.push(self.img_names['prepare']) != 0: warn("FAILED: docker push {}".format( self.img_names['prepare'])) return (True, name) else: return (True, self.img_names['prepare'])
def update_prepare(self): """ :return: (True, image_name) or (False, None) """ self._prepare_act() if self.build.prepare is None: error("build.prepare not found in lain.yaml.") exit(1) # no existed shared prepare if (not mydocker.exist(self.img_names['prepare'])): params = { 'base': self.build.base, 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.prepare.script, } name = self.img_builders['prepare'](context=self.ctx, params=params, build_args=[]) if name is None: return (False, None) if mydocker.push(self.img_names['prepare']) != 0: warn("FAILED: docker push {}".format( self.img_names['prepare'])) return (True, name) else: params = { 'base': self.img_names['prepare'], 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.prepare.script, } new_prepare_image_name = self._gen_prepare_auto_version_image_name( ) if self.build.prepare.version is not None: new_prepare_image_name = self.gen_prepare_shared_image_name() name = self.prepare_updater(name=new_prepare_image_name, context=self.ctx, params=params, build_args=[]) if name is None: return (False, None) if mydocker.push(name) != 0: warn("FAILED: docker push {}".format(name)) return (True, name)
def update_prepare(self): """ :return: (True, image_name) or (False, None) """ self._prepare_act() if self.build.prepare is None: error("build.prepare not found in lain.yaml.") exit(1) # no existed shared prepare if (not mydocker.exist(self.img_names['prepare'])): params = { 'base': self.build.base, 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.prepare.script, } name = self.img_builders['prepare']( context=self.ctx, params=params, build_args=[]) if name is None: return (False, None) if mydocker.push(self.img_names['prepare']) != 0: warn("FAILED: docker push {}".format( self.img_names['prepare'])) return (True, name) else: params = { 'base': self.img_names['prepare'], 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.prepare.script, } new_prepare_image_name = self._gen_prepare_auto_version_image_name() if self.build.prepare.version is not None: new_prepare_image_name = self.gen_prepare_shared_image_name() name = self.prepare_updater( name=new_prepare_image_name, context=self.ctx, params=params, build_args=[]) if name is None: return (False, None) if mydocker.push(name) != 0: warn("FAILED: docker push {}".format(name)) return (True, name)
def update_prepare(self): """ :return: (True, image_name) or (False, None) """ self._prepare_act() # no existed shared prepare if (not mydocker.exist(self.img_names['prepare'])): params = { 'base': self.build.base, 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.prepare.script } name = self.img_builders['prepare'](context=self.ctx, params=params) if name is None: return (False, None) if mydocker.push(self.img_names['prepare']) != 0: warn("FAILED: docker push {}".format( self.img_names['prepare'])) return (True, name) else: params = { 'base': self.img_names['prepare'], 'workdir': self.workdir, 'copy_list': ['.'], 'scripts': self.build.prepare.script } name = self.prepare_updater( name=self.gen_prepare_shared_image_name(), context=self.ctx, params=params) if name is None: return (False, None) if mydocker.push(name) != 0: warn("FAILED: docker push {}".format(name)) return (True, name)