Skip to content
Snippets Groups Projects
Commit 37bee8f6 authored by Benguria Elguezabal, Gorka's avatar Benguria Elguezabal, Gorka
Browse files

y3

parent 51a6a6c6
Branches y3
Tags v3.2
No related merge requests found
Pipeline #139130 failed
Showing
with 129 additions and 0 deletions
include:
# - local: git/gitlab-ci/resources.yml
# @TCN-submodule: git/gitlab-ci
- project: 'smartdatalab/libraries/gitlab-ci/common'
ref: 24f179f99bac2cf6a23ada0896317f453fb0cec6
file: 'resources.yml'
rules:
- if: '$GITLAB_CI == "true"'
- local: git/gitlab-ci/resources.yml
rules:
- if: '$GITLAB_CI == "false"'
# - local: git/gitlab-ci/resources-shell.yml
# @TCN-submodule: git/gitlab-ci
- project: 'smartdatalab/libraries/gitlab-ci/common'
ref: 24f179f99bac2cf6a23ada0896317f453fb0cec6
file: 'resources-shell.yml'
rules:
- if: '$GITLAB_CI == "true"'
- local: git/gitlab-ci/resources-shell.yml
rules:
- if: '$GITLAB_CI == "false"'
variables:
SERVER_HOST: resources.piacere.digital.tecnalia.dev
ENV_FILE: .env
stages:
- validate
- upload
- release
.common:
# only:
# - master
tags:
- resources
- shell
validate-gitlab-ci:
stage: validate
extends:
- .common
upload:
variables:
GIT_STRATEGY: normal
REPO_USEHTTPPATH: "false"
REPO_URL: https://artifact.tecnalia.com/artifactory/api/lfs/piacere-gitlfs-dev-local/
REPO_USER: $ARTIFACTORY_USER
REPO_PASSWORD: $ARTIFACTORY_PASSWORD
FILEBROWSER_URL: https://filebrowser.resources.piacere.digital.tecnalia.dev/
NGINX_URL: https://nginx.resources.piacere.digital.tecnalia.dev/
TRAEFIK_USER: $TRAEFIK_FILEBROWSER_USER
TRAEFIK_PASSWORD: $TRAEFIK_FILEBROWSER_PASSWORD
stage: upload
extends:
- .common
script:
- echo REPO_USER=$REPO_USER
- bash $CI_PROJECT_DIR/git/gitlab-ci/add_repo_credentials.sh
- echo "Deploying $CI_COMMIT_TAG"
- export BASE_FOLDER="ECLIPSE_BASED_IDE/DOML ${CI_COMMIT_TAG:1}"
- export NGINX_URL=${NGINX_URL%/}
- cd "$BASE_FOLDER"
- |
export ASSETS_LINKS="[]" # Empty array
shopt -s globstar
for i in **/*.zip; do # Whitespace-safe and recursive
git lfs pull --exclude= --include "$BASE_FOLDER/$i"
export FILEBROWSER_FILE="$i"
export FILEBROWSER_TARGET_FILE="nginx/ide/${CI_COMMIT_TAG}/$i"
echo "FILEBROWSER_TARGET_FILE=$FILEBROWSER_TARGET_FILE"
bash $CI_PROJECT_DIR/git/gitlab-ci/upload_file_to_filebrowser_with_traefikauth.sh
# URL excape except / and .
export FILEBROWSER_TARGET_FILE_URL_ESCAPED=$( jq -rn --arg x "$FILEBROWSER_TARGET_FILE" '$x|@uri' )
# convert %2F to / , %2E to . and remove nginx/
export FILEBROWSER_TARGET_FILE_URL_ESCAPED=$(echo $FILEBROWSER_TARGET_FILE_URL_ESCAPED | sed 's/%2F/\//g' | sed 's/%2E/\./g' | sed 's/^nginx\///g')
export ASSETS_LINKS=$(echo $ASSETS_LINKS | jq --arg name "$(echo $i | cut -d'/' -f1)" --arg url "$NGINX_URL/$FILEBROWSER_TARGET_FILE_URL_ESCAPED" '. + [{"name": $name, "url": $url}]')
done
- cd "$CI_PROJECT_DIR"
# convert to single line json
- export ASSETS_LINKS=$(echo $ASSETS_LINKS | jq -c '.')
- echo "ASSETS_LINKS=$ASSETS_LINKS"
- echo "ASSETS_LINKS=$ASSETS_LINKS" >> upload.env # Add the value to a dotenv file.
rules:
- if: '$CI_COMMIT_TAG && $CI_COMMIT_TAG =~ /^v[0-9]+(\.[0-9]+)+$/'
when: always
artifacts:
reports:
dotenv: upload.env
when: on_success
expire_in: "1 days"
# # https://gitlab.com/gitlab-org/release-cli/-/tree/master/docs
# # --assets-link value JSON string representation of an asset link (or an array of asset links); (e.g. --assets-link='{"name": "Asset1", "url":"https://example.com/some/location/1", "link_type": "other", "filepath": "xzy" } or --assets-link='[{"name": "Asset1", "url":"https://example.com/some/location/1"}, {"name": "Asset2", "url":"https://example.com/some/location/2"}]')
remove-release:
# remove release if exists
stage: release
rules:
- if: '$CI_COMMIT_TAG && $CI_COMMIT_TAG =~ /^v[0-9]+(\.[0-9]+)+$/'
when: always
extends:
- .common
script:
# - 'echo curl --request DELETE --header "JOB-TOKEN: $CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/releases/$CI_COMMIT_TAG" || true'
- 'curl --request DELETE --header "JOB-TOKEN: $CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/releases/$CI_COMMIT_TAG" || true'
dependencies:
- upload
release:
# Caution, as of 2021-02-02 these assets links require a login, see:
# https://gitlab.com/gitlab-org/gitlab/-/issues/299384
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
tags:
- docker
rules:
- if: '$CI_COMMIT_TAG && $CI_COMMIT_TAG =~ /^v[0-9]+(\.[0-9]+)+$/'
when: always
script:
- release-cli create --name "Release $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG --assets-link "$ASSETS_LINKS"
dependencies:
- upload
- remove-release
[submodule "git/gitlab-ci"]
path = git/gitlab-ci
url = ../../../smartdatalab/libraries/gitlab-ci/docker-compose.git
File deleted
File deleted
File added
File added
File added
File added
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment