Merge pull request #29 from turniere/ticket/TURNIERE-108
Create Dockerfile and Docker Rake tasks
This commit is contained in:
commit
9c808b9921
|
|
@ -0,0 +1,11 @@
|
|||
.git
|
||||
test/**
|
||||
spec/**
|
||||
tmp/**
|
||||
.gitignore
|
||||
.hound.yml
|
||||
.rspec
|
||||
.rubocop.yml
|
||||
.travis-yml
|
||||
docker-compose.yml
|
||||
README.md
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
FROM ruby:2.6.2-alpine
|
||||
RUN apk add build-base tzdata sqlite sqlite-dev && gem install tzinfo-data
|
||||
WORKDIR /app
|
||||
COPY Gemfile /app/Gemfile
|
||||
COPY Gemfile.lock /app/Gemfile.lock
|
||||
RUN bundle install --deployment --without development test
|
||||
COPY . /app
|
||||
ENV RAILS_ENV production
|
||||
CMD bundle exec rails db:migrate && bundle exec rails s -p 3000 -b 0.0.0.0
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
version: "3"
|
||||
services:
|
||||
app:
|
||||
image: turniere/backend
|
||||
ports:
|
||||
- 3000:3000
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
IMAGE_NAME = 'turniere/backend'
|
||||
|
||||
namespace :docker do
|
||||
desc 'Build docker image'
|
||||
task :build, [: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 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 do
|
||||
sh "docker push #{IMAGE_NAME}"
|
||||
end
|
||||
|
||||
desc 'Run TravisCI tasks'
|
||||
task travis: %i[build tag push] do
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue