Skip to content
This repository has been archived by the owner on Apr 4, 2022. It is now read-only.

Dockerize Janky's development environment #245

Merged
merged 9 commits into from
Jun 8, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Dockerize this project
Use a compose file so we can integrate a database and a jenkins server
so we have a completely put together development environment
  • Loading branch information
mattr- committed Apr 17, 2019
commit 5d81765b01e363aadbe9897400d89d8e1e697404
25 changes: 25 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM ruby:2.3

RUN touch /etc/app-env

RUN sed -i '/jessie-updates/d' /etc/apt/sources.list

RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5072E1F5 && \
echo "deb http://repo.mysql.com/apt/debian/ jessie mysql-5.7" > /etc/apt/sources.list.d/mysql.list && \
apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs libmysqlclient-dev mysql-client

WORKDIR /app

COPY Gemfile /app
COPY Rakefile /app
COPY bin /app/bin
COPY config.ru /app
COPY janky.gemspec /app
COPY lib /app/lib
COPY script /app/script
COPY test /app/test

RUN bundle install --binstubs
RUN mkdir /app/log

EXPOSE 9393
32 changes: 32 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
version: '3.6'
services:
db:
image: mysql:5.7
command: --sql_mode="NO_ENGINE_SUBSTITUTION"
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
volumes:
- "db-data:/var/lib/mysql"
jenkins:
image: mattrdash/jenkins-for-janky:lts
volumes:
- "jenkins-data:/var/jenkins_home"
app:
build:
context: .
image: janky-app
command: 'script/server'
environment:
- RACK_ENV
- RACK_ROOT
- JANKY_BASE_URL
volumes:
- "${VOLUME:-.:/app}"
ports:
- "9393:9393"
depends_on:
- db
- jenkins
volumes:
db-data:
jenkins-data:
2 changes: 1 addition & 1 deletion lib/janky.rb
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def self.setup(settings)
end

if env != "production"
settings["DATABASE_URL"] ||= "mysql2://root@localhost/janky_#{env}"
settings["DATABASE_URL"] ||= "mysql2://root@db/janky_#{env}"
settings["JANKY_BASE_URL"] ||= "http://localhost:9393/"
settings["JANKY_BUILDER_DEFAULT"] ||= "http://localhost:8080/"
settings["JANKY_CONFIG_DIR"] ||= File.dirname(__FILE__)
Expand Down