mirror of
https://github.com/elyby/accounts.git
synced 2024-12-26 23:20:18 +05:30
74 lines
1.9 KiB
YAML
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
|
|
- npm run test
|
|
|
|
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
|