-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
93 lines (87 loc) · 3.48 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
etl-build:
image: docker:25.0-git
services:
- docker:27.5-dind
script:
- pwd
# - ls -al /builds/padme-development/external/better/data-cataloging/etl
# - ls -al /builds/padme-development/external/better/data-cataloging/etl/datasets
# - ls -al /builds/padme-development/external/better/data-cataloging/etl/datasets/test
# - cat /builds/padme-development/external/better/data-cataloging/etl/.env.ci
# - cat .env.ci
# - cat /builds/padme-development/external/better/data-cataloging/etl/datasets/test/extr-metadata-phen.csv
- export CONTEXT_MODE="TEST"
- export ETL_ENV_FILE_NAME=.env.ci
- export ABSOLUTE_PATH_ENV_FILE=/builds/padme-development/external/better/data-cataloging/etl/.env.ci
- docker build . --tag ietl
- docker compose --env-file ${ABSOLUTE_PATH_ENV_FILE} up --exit-code-from ietl --remove-orphans
- docker compose --env-file ${ABSOLUTE_PATH_ENV_FILE} down
etl-deploy:
image: docker:23-dind
services:
- docker:23-dind
stage: deploy
rules:
- if: $CI_COMMIT_TAG # release when a commit is tagged with a version
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # release when a branch is merged to main or a commit is pushed to main
before_script:
- echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
script:
- echo "Deploying I-ETL"
- echo "$CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH"
- docker build --pull -t $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH .
- docker images
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH
- echo "I-ETL Build Complete!"
- echo "Build I-ETL .tar"
- docker save ietl > the-ietl-image.tar
artifacts:
name: "the-ietl-image"
paths:
- the-ietl-image.tar
#tests:
# image: docker:cli
# stage: test
# services:
# - docker:dind
# variables:
# DOCKER_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
# before_script:
# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
# script:
# - pwd
# - export CONTEXT_MODE="TEST"
# - export ETL_ENV_FILE_NAME=.env.ci
# - export ABSOLUTE_PATH_ENV_FILE=/builds/padme-development/external/better/data-cataloging/etl/.env.ci
# - echo "$CI_REGISTRY_IMAGE"
# - echo "$CI_COMMIT_REF_SLUG"
# - echo "$CI_REGISTRY_USER"
# - echo "$CI_REGISTRY_PASSWORD"
# - echo "$CI_REGISTRY"
# - echo "$DOCKER_IMAGE_NAME"
# - echo "$CI_COMMIT_TAG"
#- docker build . --tag "$DOCKER_IMAGE_NAME"
# - docker build --pull -t "$DOCKER_IMAGE_NAME" .
# - docker compose --env-file ${ABSOLUTE_PATH_ENV_FILE} up --exit-code-from "$DOCKER_IMAGE_NAME" --remove-orphans
# - docker compose --env-file ${ABSOLUTE_PATH_ENV_FILE} down
#docker-release:
# stage: deploy
# rules:
# - if: $CI_COMMIT_TAG # release when a commit is tagged with a version
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # release when a banch is merged to main or a commit is pushed to main
# script:
# - echo "Running the release job with version $CI_COMMIT_TAG"
# release:
# tag_name: $CI_COMMIT_TAG
# name: "I-ETL $CI_COMMIT_TAG"
# description: "Release of I-ETL version $CI_COMMIT_TAG"
#- docker push "$DOCKER_IMAGE_NAME"
#- echo "$CI_COMMIT_BRANCH"
#- echo "$CI_DEFAULT_BRANCH"
#- |
#if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
# echo "will tag version with latest"
# docker tag "$DOCKER_IMAGE_NAME" "$CI_REGISTRY_IMAGE:latest"
# echo "will push latest"
# docker push "$CI_REGISTRY_IMAGE:latest"
#fi