72 lines
1.7 KiB
YAML
72 lines
1.7 KiB
YAML
|
stages:
|
||
|
- test
|
||
|
- build
|
||
|
- deploy
|
||
|
|
||
|
before_script:
|
||
|
|
||
|
test:
|
||
|
stage: test
|
||
|
image: ruby:2.5
|
||
|
script:
|
||
|
- apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs
|
||
|
- bundle config path vendor/bundle
|
||
|
- bundle install --jobs 4 --retry 3
|
||
|
- bundle exec rake db:create RAILS_ENV=test
|
||
|
- bundle exec rake test & bundle exec rspec & bundle exec rubocop --parallel
|
||
|
cache:
|
||
|
paths:
|
||
|
- vendor/bundle
|
||
|
except:
|
||
|
variables:
|
||
|
- $CD_TEST_IGNORE
|
||
|
|
||
|
build:
|
||
|
stage: build
|
||
|
image: docker:stable
|
||
|
services:
|
||
|
- docker:dind
|
||
|
script:
|
||
|
# Install bash, curl, git for deployment script
|
||
|
- apk update && apk add --no-cache bash curl git
|
||
|
# Install CA certs, openssl to https downloads, python for gcloud sdk
|
||
|
- apk add --update make ca-certificates openssl python
|
||
|
- update-ca-certificates
|
||
|
# Build.
|
||
|
- ./scripts/image_build.sh $CI_PROJECT_PATH $CI_COMMIT_REF_NAME $CI_COMMIT_SHA
|
||
|
only:
|
||
|
refs:
|
||
|
- branches
|
||
|
- tags
|
||
|
variables:
|
||
|
- $CD_DOCKER_USERNAME
|
||
|
- $CD_DOCKER_PASSWORD
|
||
|
except:
|
||
|
variables:
|
||
|
- $CD_BUILD_IGNORE
|
||
|
|
||
|
deploy:
|
||
|
stage: deploy
|
||
|
image: docker:stable
|
||
|
services:
|
||
|
- docker:dind
|
||
|
script:
|
||
|
# Install bash, curl, git for deployment script
|
||
|
- apk update && apk add --no-cache bash curl git
|
||
|
# Install CA certs, openssl to https downloads, python for gcloud sdk
|
||
|
- apk add --update make ca-certificates openssl python
|
||
|
- update-ca-certificates
|
||
|
# Deploy.
|
||
|
- ./scripts/image_deploy.sh $CI_PROJECT_PATH $CI_COMMIT_REF_NAME $CI_COMMIT_SHA $CI_COMMIT_BEFORE_SHA
|
||
|
only:
|
||
|
refs:
|
||
|
- branches
|
||
|
- tags
|
||
|
variables:
|
||
|
- $CD_DOCKER_USERNAME
|
||
|
- $CD_DOCKER_PASSWORD
|
||
|
- $CD_DEPLOY_SCRIPT
|
||
|
except:
|
||
|
variables:
|
||
|
- $CD_DEPLOY_IGNORE
|