forked from lhalam/EcoMap
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.gitlab-ci.yml
63 lines (56 loc) · 1.92 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
image: docker:latest
stages:
- unittest
- build
- selenium
- analyze
services:
- docker:dind
before_script:
- export IMAGE_TAG_MAIN="latest"
- export IMAGE_TAG_TESTS=$(echo -en $CI_COMMIT_REF_NAME | tr -c '[:alnum:]_.-' '-')
- docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" $CI_REGISTRY
run_unit_tests:
stage: unittest
script:
- docker build -t ecomap-unit ecomap/
- docker run ecomap-unit
only:
- STAGE
build_ecomap:
stage: build
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE:$IMAGE_TAG_MAIN" .
- docker push "$CI_REGISTRY_IMAGE:$IMAGE_TAG_MAIN"
only:
- STAGE
build_selenium_tests:
stage: build
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE:$IMAGE_TAG_TESTS" page_object_ecomap/
- docker push "$CI_REGISTRY_IMAGE:$IMAGE_TAG_TESTS"
run_selenium_tests:
stage: selenium
script:
- docker pull mariadb:latest > /dev/null
- docker pull "selenium/standalone-$SELENIUM_BROWSER:latest" > /dev/null
- docker pull "$CI_REGISTRY_IMAGE:$IMAGE_TAG_MAIN" > /dev/null
- docker pull "$CI_REGISTRY_IMAGE:$IMAGE_TAG_TESTS" > /dev/null
- docker run --name mariadb -e MYSQL_ROOT_PASSWORD=megasecret -e MYSQL_DATABASE=ecomap -d mariadb:latest mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init_connect='SET collation_connection = utf8_unicode_ci'
- docker run --name web --link mariadb:mysql -d "$CI_REGISTRY_IMAGE:$IMAGE_TAG_MAIN"
- docker run --name selenium-rc -d --link web:ecomap "selenium/standalone-$SELENIUM_BROWSER"
- docker run --name tests -v $CI_PROJECT_DIR/public:/usr/src/app/public -e SELENIUM_CONNECTION -e SELENIUM_RC_URL -e SELENIUM_BROWSER -e ECOMAP_BASE_URL --link selenium-rc:remote "$CI_REGISTRY_IMAGE:$IMAGE_TAG_TESTS"
artifacts:
paths:
- public
when: always
pages:
stage: analyze
script:
- echo 'Publishing Report'
artifacts:
paths:
- public
when: always
only:
- STAGE