Sha256: 2a918ca9c04d8a9b573b5136f15b98a4ef5531ca8e7f0a5a10bc49d121cd7d90
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
module Phase module Deploy class Build attr_reader :version_tag, :build_dir def initialize(version_tag, options = {}) @version_tag = version_tag @build_dir = options.fetch(:build_dir, "./build") end def execute build_image tag_image push end private def build_image clear_build_dir clone_local_repo system("docker build -t #{repo_name}:#{version_tag} #{build_dir}") end def clear_build_dir ::FileUtils.mkdir_p(build_dir) end def clone_local_repo system("git clone --depth 1 -- file://$(pwd) #{build_dir}") end def tag_image system("docker tag #{repo_name}:#{version_tag} #{repo_name}:latest") end def push system("docker push #{repo_name}:#{version_tag}") system("docker push #{repo_name}:latest") end def repo_name ::Phase.config.deploy.docker_repository end end class SandboxBuild < Build def execute build_image push end private def build_image system("docker build -t #{repo_name}:#{version_tag} .") end def push system("docker push #{repo_name}:#{version_tag}") end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
phase-0.0.14 | lib/phase/kit/deploy/build.rb |
phase-0.0.13 | lib/phase/kit/deploy/build.rb |
phase-0.0.12 | lib/phase/kit/deploy/build.rb |