accounts/.gitlab-ci.yml

105 lines
3.0 KiB
YAML
Raw Normal View History

2016-08-09 12:23:05 +05:30
stages:
- test
- build
- release
variables:
CONTAINER_IMAGE: "registry.ely.by/elyby/accounts"
2016-08-09 12:23:05 +05:30
check backend codestyle:
image: edbizarro/gitlab-ci-pipeline-php:7.2-alpine
stage: test
script:
- vendor/bin/php-cs-fixer fix -v --dry-run
test backend:
image: edbizarro/gitlab-ci-pipeline-php:7.2-alpine
2016-08-09 12:23:05 +05:30
services:
- mariadb:10.2.11
- redis:3.0-alpine
variables:
# app config
YII_ENV: "test"
YII_DEBUG: "true"
# mariadb config
MYSQL_RANDOM_ROOT_PASSWORD: "true"
MYSQL_DATABASE: "ely_accounts_test"
MYSQL_USER: "ely_accounts_tester"
MYSQL_PASSWORD: "ely_accounts_tester_password"
2016-08-09 12:23:05 +05:30
stage: test
script:
- docker-entrypoint.sh vendor/bin/codecept run -c tests
2016-08-09 12:23:05 +05:30
test frontend:
image: node:9.2.1-alpine
2016-08-09 12:23:05 +05:30
stage: test
cache:
paths:
- frontend/node_modules
before_script:
# Enable SSL support for wget
- apk add --update openssl
# https://github.com/facebook/flow/issues/3649#issuecomment-308070179
- wget -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-glibc/master/sgerrand.rsa.pub
- wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-2.25-r0.apk
- apk add glibc-2.25-r0.apk
2016-08-09 12:23:05 +05:30
script:
- cd frontend
2017-12-13 03:43:36 +05:30
- yarn run build:install
- yarn run lint
- yarn flow
2017-12-13 03:43:36 +05:30
- yarn test
2016-08-09 12:23:05 +05:30
build:production:
image: docker:18.02
2016-08-09 12:23:05 +05:30
stage: build
variables:
GA_ID: "UA-45299905-3"
SENTRY_CDN: "https://088e7718236a4f91937a81fb319a93f6@sentry.ely.by/2"
2016-08-09 12:23:05 +05:30
before_script:
- docker login -u gitlab-ci -p $CI_BUILD_TOKEN registry.ely.by
- export VERSION="${CI_COMMIT_TAG:-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA:0:7}}"
2016-08-09 12:23:05 +05:30
- echo "$SSH_PRIVATE_KEY" > id_rsa
- |
echo "
module.exports = {
version: '$VERSION',
ga: {id: '$GA_ID'},
sentryCdn: '$SENTRY_CDN',
};
" > frontend/config/env.js
2018-03-18 05:09:13 +05:30
- sed -i"" -e "s/{{PLACE_VERSION_HERE}}/$VERSION/g" common/config/config.php
2016-08-09 12:23:05 +05:30
script:
- export IMAGE_NAME="$CONTAINER_IMAGE:latest"
- docker build --pull -t $IMAGE_NAME .
only:
- develop
- tags
release:latest:
image: docker:18.02
2016-08-09 12:23:05 +05:30
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:18.02
2016-08-09 12:23:05 +05:30
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