mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 15:20:13 +01:00
commit
86b0a7aa95
5 changed files with 109 additions and 1 deletions
2
.github/workflows/continuous-integration.yml
vendored
2
.github/workflows/continuous-integration.yml
vendored
|
|
@ -6,7 +6,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
ruby: ["3.0", "3.1", "3.2"]
|
ruby: ["3.0", "3.1", "3.2", "3.3"]
|
||||||
db: [sqlite, mysql, postgres]
|
db: [sqlite, mysql, postgres]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
|
||||||
30
Dockerfile-3.3
Normal file
30
Dockerfile-3.3
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
FROM ruby:3.2
|
||||||
|
|
||||||
|
# throw errors if Gemfile has been modified since Gemfile.lock
|
||||||
|
RUN bundle config --global frozen 1
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN touch /etc/app-env
|
||||||
|
|
||||||
|
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
||||||
|
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
||||||
|
RUN apt-get update && apt-get install -y yarn
|
||||||
|
|
||||||
|
COPY Gemfile* /app/
|
||||||
|
RUN gem install bundler
|
||||||
|
RUN bundle install --jobs 4
|
||||||
|
|
||||||
|
RUN mkdir /app/log
|
||||||
|
|
||||||
|
COPY . /app/
|
||||||
|
COPY config/database.docker.yml /app/config/database.yml
|
||||||
|
COPY config/site.docker.yml /app/config/site.yml
|
||||||
|
|
||||||
|
RUN RAILS_ENV=production bundle exec rake assets:precompile
|
||||||
|
|
||||||
|
ENTRYPOINT ["/app/docker-entrypoint.sh"]
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
CMD ["rails", "server", "-b", "0.0.0.0"]
|
||||||
29
test-envs/docker-compose-3.3-mysql.yml
Normal file
29
test-envs/docker-compose-3.3-mysql.yml
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mysql:5.7
|
||||||
|
environment:
|
||||||
|
MYSQL_ALLOW_EMPTY_PASSWORD: 1
|
||||||
|
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
|
||||||
|
volumes:
|
||||||
|
- db-data:/var/lib/mysql
|
||||||
|
web:
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: Dockerfile-3.3
|
||||||
|
environment:
|
||||||
|
# These are set in script/ci-build, so we need to pass-thru them.
|
||||||
|
RAILS_ENV: $RAILS_ENV
|
||||||
|
DATABASE_NAME: $DATABASE_NAME
|
||||||
|
DATABASE_USERNAME: root
|
||||||
|
DATABASE_PASSWORD_EMPTY: 1
|
||||||
|
volumes:
|
||||||
|
- ${VOLUME:-..}:/app:Z
|
||||||
|
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
|
||||||
|
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
volumes:
|
||||||
|
db-data:
|
||||||
32
test-envs/docker-compose-3.3-postgres.yml
Normal file
32
test-envs/docker-compose-3.3-postgres.yml
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: postgres:13
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${DATABASE_NAME:-tracks}
|
||||||
|
POSTGRES_PASSWORD: password
|
||||||
|
volumes:
|
||||||
|
- db-data:/var/lib/postgresql/data
|
||||||
|
web:
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: Dockerfile-3.3
|
||||||
|
environment:
|
||||||
|
# These are set in script/ci-build, so we need to pass-thru them.
|
||||||
|
RAILS_ENV: $RAILS_ENV
|
||||||
|
DATABASE_NAME: $DATABASE_NAME
|
||||||
|
DATABASE_USERNAME: postgres
|
||||||
|
DATABASE_PASSWORD: password
|
||||||
|
DATABASE_TYPE: postgresql
|
||||||
|
DATABASE_ENCODING: unicode
|
||||||
|
DATABASE_PORT: 5432
|
||||||
|
volumes:
|
||||||
|
- ${VOLUME:-..}:/app:Z
|
||||||
|
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
|
||||||
|
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
volumes:
|
||||||
|
db-data:
|
||||||
17
test-envs/docker-compose-3.3-sqlite.yml
Normal file
17
test-envs/docker-compose-3.3-sqlite.yml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: Dockerfile-3.3
|
||||||
|
environment:
|
||||||
|
# These are set in script/ci-build, so we need to pass-thru them.
|
||||||
|
RAILS_ENV: $RAILS_ENV
|
||||||
|
DATABASE_NAME: "/app/db.sqlite"
|
||||||
|
DATABASE_TYPE: sqlite3
|
||||||
|
volumes:
|
||||||
|
- ${VOLUME:-..}:/app:Z
|
||||||
|
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
|
||||||
|
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
Loading…
Add table
Add a link
Reference in a new issue