debshots/.gitlab-ci.yml

55 lines
No EOL
1.3 KiB
YAML

variables:
DOCKER_TLS_CERTDIR: "/certs"
CONTAINER_IMAGE: "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA"
RAILS_ENV: "production"
# Add this service
services:
- docker:20.10.16-dind
stages:
- build
- test
- deploy
before_script:
- docker info
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
build:
stage: build
image: docker:20.10.16
script:
- docker build -t $CONTAINER_IMAGE .
- docker tag $CONTAINER_IMAGE $CI_REGISTRY_IMAGE:latest
- docker push $CONTAINER_IMAGE
- docker push $CI_REGISTRY_IMAGE:latest
only:
- main
- merge_requests
# test:
# stage: test
# image: ruby:3.2.2
# services:
# - postgres:latest
# - docker:20.10.16-dind
# variables:
# POSTGRES_DB: "rails_test"
# POSTGRES_USER: "postgres"
# POSTGRES_PASSWORD: "password"
# DATABASE_URL: "postgresql://postgres:password@postgres:5432/rails_test"
# script:
# - apt-get update -qq && apt-get install -y docker.io
# - docker run --rm $CONTAINER_IMAGE bin/rails db:create db:migrate RAILS_ENV=test
# - docker run --rm $CONTAINER_IMAGE bin/rails test
# only:
# - main
# - merge_requests
# deploy:
# stage: deploy
# script:
# - echo "Deploying to production..."
# only:
# - main