Make s2i builder work on non-master refs

pull/2/head
yuvipanda 2017-05-21 20:39:36 -07:00
rodzic e81bfe8c89
commit cf6674cce8
2 zmienionych plików z 8 dodań i 4 usunięć

Wyświetl plik

@ -120,7 +120,7 @@ class Builder(Application):
bp = bp_class()
if bp.detect(output_path):
self.log.info('Using %s builder', bp.name, extra=dict(phase='building'))
bp.build(output_path, self.output_image_spec)
bp.build(output_path, self.source_ref, self.output_image_spec)
break
else:
self.log.error('Could not figure out how to build this repository! Tell us?', extra=dict(phase='failed'))

Wyświetl plik

@ -32,7 +32,7 @@ class BuildPack(LoggingConfigurable):
"""
pass
def build(self, workdir, output_image_spec):
def build(self, workdir, ref, output_image_spec):
"""
Run a command that will take workdir and produce an image ready to be pushed
"""
@ -45,7 +45,7 @@ class DockerBuildPack(BuildPack):
def detect(self, workdir):
return os.path.exists(os.path.join(workdir, 'Dockerfile'))
def build(self, workdir, output_image_spec):
def build(self, workdir, ref, output_image_spec):
client = docker.APIClient(base_url='unix://var/run/docker.sock', version='auto')
for progress in client.build(
path=workdir,
@ -77,11 +77,15 @@ class PythonBuildPack(BuildPack):
pass
return True
def build(self, workdir, output_image_spec):
def build(self, workdir, ref, output_image_spec):
# Note: Ideally we'd just copy from workdir here, rather than clone and check out again
# However, setting just --copy and not specifying a ref seems to check out master for
# some reason. Investigate deeper FIXME
cmd = [
's2i',
'build',
'--exclude', '""',
'--ref', ref,
workdir,
self.runtime_builder_map[self.runtime],
output_image_spec