turniere-backend/lib/tasks/docker.rake

29 lines
671 B
Ruby

# frozen_string_literal: true
IMAGE_NAME = 'turniere/backend'
namespace :docker do
desc 'Build docker image'
task build: :environment, [:tag] do |_, args|
args.with_defaults(tag: 'latest')
sh "docker build -t #{IMAGE_NAME}:#{args.tag} ."
end
desc 'Tag docker image with Travis build number'
task tag: :environment do
next if ENV['TRAVIS_PULL_REQUEST'] != 'false'
tag = "build#{ENV['TRAVIS_BUILD_NUMBER']}"
sh "docker tag #{IMAGE_NAME} #{IMAGE_NAME}:#{tag}"
end
desc 'Push docker image'
task push: :environment do
sh "docker push #{IMAGE_NAME}"
end
desc 'Run TravisCI tasks'
task travis: %i[build tag push] do
end
end