accounts/.gitlab-ci.yml

74 lines
1.9 KiB
YAML

stages:
- test
- build
- release
variables:
CONTAINER_IMAGE: registry.ely.by/elyby/accounts
test:backend:
image: jonaskello/docker-and-compose:1.12.1-1.8.0
services:
- docker:1.12.1-dind
stage: test
before_script:
- docker login -u gitlab-ci -p $CI_BUILD_TOKEN registry.ely.by
- echo "$SSH_PRIVATE_KEY" > id_rsa
- docker-compose -f tests/docker-compose.yml build --pull testphp
after_script:
- docker-compose -f tests/docker-compose.yml down -v
script:
- docker-compose -f tests/docker-compose.yml run --rm testphp ./vendor/bin/codecept run -c tests
test:frontend:
image: node:5.12
stage: test
cache:
paths:
- frontend/node_modules
script:
- cd frontend
- npm i --silent > /dev/null
- npm run test --silent
build:production:
image: docker:latest
stage: build
before_script:
- docker login -u gitlab-ci -p $CI_BUILD_TOKEN registry.ely.by
- echo "$SSH_PRIVATE_KEY" > id_rsa
- echo "$FRONTEND_ENV_CONFIG" > frontend/config/env.js
script:
- export IMAGE_NAME="$CONTAINER_IMAGE:latest"
- docker build --pull -t $IMAGE_NAME .
only:
- develop
- tags
release:latest:
image: docker:latest
stage: release
variables:
GIT_STRATEGY: none
before_script:
- docker login -u gitlab-ci -p $CI_BUILD_TOKEN registry.ely.by
script:
- docker push $CONTAINER_IMAGE:latest
only:
- develop
- tags
release:tag:
image: docker:latest
stage: release
variables:
GIT_STRATEGY: none
before_script:
- docker login -u gitlab-ci -p $CI_BUILD_TOKEN registry.ely.by
script:
- export IMAGE_NAME="$CONTAINER_IMAGE:$CI_BUILD_TAG"
- docker tag $CONTAINER_IMAGE:latest $IMAGE_NAME
- docker push $IMAGE_NAME
only:
- tags