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

Merge branch 'master' of git.code.tecnalia.com:piacere/public/the-platform/ide

parents 3ceb3ac3 1a8b63a5
No related branches found
No related tags found
No related merge requests found
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment