Loading .gitlab-ci.yml +25 −53 Original line number Diff line number Diff line Loading @@ -20,11 +20,7 @@ variables: DOCKER_TLS_CERTDIR: "" DOCKER_DRIVER: overlay2 DOCKER_API_VERSION: "1.41" #DEPLOYMENT_SERVER_USER: "nsit" #DEPLOYMENT_SERVER_IP: "192.168.5.44" TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX: "registry.ubitech.eu/nsit/maestro-apps/" DEPLOYMENT_SERVER_IP: "192.168.5.185" DEPLOYMENT_SERVER_USER: "ubuntu" IMAGE_NAME: "maestro-portal-jvm" MAVEN_REPO: "${CI_PROJECT_ROOT_NAMESPACE}/.m2/repository" MAVEN_OPTS: "-Dmaven.repo.local=${CI_PROJECT_ROOT_NAMESPACE}/.m2/repository" Loading @@ -32,17 +28,6 @@ variables: SONAR_USER_HOME: "${CI_PROJECT_ROOT_NAMESPACE}/${CI_PROJECT_NAME}/.sonar" MAVEN_CLI_OPTS_SONAR: "-s .ci-settings.xml --no-transfer-progress" MAVEN_CLI_OPTS: "-s .ci-settings.xml --no-transfer-progress" HELM_INSTALLER_REPO: "gitlab.ubitech.eu/maestro-v2/installer/io.maestro.installer.orchestrator.helm.git" DEV_TMF_APIS_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.tmf.api/tmf-api-jvm:latest" DEV_SONATA_CORE_IMAGE: "registry.ubitech.eu/maestro-v2/sonata/io.maestro.sonata.core/sonata-core-jvm:latest" DEV_SONATA_HELM_IMAGE: "registry.ubitech.eu/maestro-v2/sonata/sonata.engine.helm/helm-engine:latest" DEV_ZTC_CLIENT_IMAGE: "registry.ubitech.eu/maestro-v2/io.maestro.ztc/io.maestro.ztc.client/ztc-client:latest" DEV_SONATA_OSS_IMAGE: "registry.ubitech.eu/maestro-v2/sonata/io.maestro.sonata.oss.client/oss-client-jvm:latest" DEV_TELEMETRY_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.telemetry/telemetry-api-jvm:latest" DEV_PEERING_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.peering/peering-api-jvm:latest" DEV_REGISTRY_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.registry/registry-api-jvm:latest" DEV_FABRIC_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.fabric/fabric-api-jvm:latest" DEV_PORTAL: "registry.ubitech.eu/maestro-v2/io.maestro.portal/maestro-portal/maestro-portal:latest" cache: key: "${CI_PROJECT_ROOT_NAMESPACE}" Loading Loading @@ -166,64 +151,48 @@ dev_image_build_job: dev_deploy_job: stage: dev_deploy image: name: registry.ubitech.eu/nsit/maestro-apps/python:3.9 name: registry.ubitech.eu/nsit/maestro-apps/python-argocd:3.9 pull_policy: [always, if-not-present] before_script: - apt-get update && apt-get install -y curl && apt-get install -y jq - python3 -m pip install ruamel.yaml - curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/download/v2.13.5/argocd-linux-amd64 - install -m 555 argocd-linux-amd64 /usr/local/bin/argocd - git clone https://oauth2:$INSTALLER_TOKEN@gitlab.ubitech.eu/maestro-v2/installer/io.maestro.installer.orchestrator.helm.git - git clone --depth 1 --branch gitops-cd https://oauth2:$INSTALLER_TOKEN@$INSTALLER_REPO - cd io.maestro.installer.orchestrator.helm - git checkout gitops-cd - git pull origin gitops-cd script: - python3 scripts/helm_update.py $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA $DEV_TMF_APIS_IMAGE $DEV_SONATA_CORE_IMAGE $DEV_SONATA_HELM_IMAGE $DEV_ZTC_CLIENT_IMAGE $DEV_SONATA_OSS_IMAGE $DEV_TELEMETRY_IMAGE $DEV_PEERING_IMAGE $DEV_REGISTRY_IMAGE $DEV_FABRIC_IMAGE $DEV_PORTAL - python3 scripts/helm_update.py $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA $DEV_TMF_API_IMAGE $DEV_SONATA_CORE_IMAGE $DEV_SONATA_HELM_IMAGE $DEV_ZTC_CLIENT_IMAGE $DEV_SONATA_OSS_IMAGE $DEV_TELEMETRY_IMAGE $DEV_PEERING_IMAGE $DEV_REGISTRY_IMAGE $DEV_FABRIC_IMAGE $DEV_PORTAL - git add . - git config --global user.email "avalantasis@ubitech.eu" - git config --global user.name "avalantasis" - git config --global user.email "$GITLAB_USER_NAME" - git config --global user.name "$GITLAB_USER_EMAIL" - | if git commit -m "Update values.yaml for GitOps CD [skip ci]"; then git push origin gitops-cd else echo "No changes to commit." fi - | argocd login $ARGOCD_SERVER --username $ARGOCD_USERNAME --password $ARGOCD_PASSWORD --insecure argocd app sync maestro --timeout 300 APP_STATUS=$(argocd app get maestro -o json | jq -r '.status.health.status') if [ "$APP_STATUS" != "Healthy" ]; then echo "Argo CD application 'maestro' is not healthy. Current status: $APP_STATUS" exit 1 fi echo "Argo CD application 'maestro' is healthy." - | set -e argocd login "$ARGOCD_SERVER" --username "$ARGOCD_USERNAME" --password "$ARGOCD_PASSWORD" --insecure argocd app get maestro --refresh >/dev/null argocd app wait maestro --sync --health --timeout 120 echo "Argo CD application 'maestro' is synced and healthy." dependencies: - dev_image_build_job rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' dev_workflows_job: stage: dev_workflows image: name: registry.ubitech.eu/nsit/maestro-apps/docker:20.10.16 services: - name: registry.ubitech.eu/nsit/maestro-apps/docker:20.10.16-dind command: [ "--tls=false" ] alias: docker name: registry.ubitech.eu/nsit/maestro-apps/newman-ci:latest before_script: - docker info > /dev/null - apk update && apk add git - git clone https://oauth2:$COLLECTION_TOKEN@gitlab.ubitech.eu/maestro-v2/io.maestro.cd/io.maestro.cd.collections.git - git clone --depth 1 https://oauth2:$COLLECTION_TOKEN@$COLLECTION_REPO - cp io.maestro.cd.collections/files/collection.json . - cp io.maestro.cd.collections/files/env.json . - echo "$MAESTRO_APPS_TOKEN" | docker login $MAESTRO_APPS_REGISTRY -u $MAESTRO_APPS_USER --password-stdin script: #- sleep 120 - ls -l - docker run -v $(pwd):/etc/newman -t registry.ubitech.eu/nsit/maestro-apps/postman/newman:latest run /etc/newman/collection.json --environment /etc/newman/env.json - newman run collection.json --environment env.json dependencies: - dev_deploy_job rules: Loading @@ -231,6 +200,7 @@ dev_workflows_job: prod_extract_next_release_job: image: registry.ubitech.eu/nsit/maestro-apps/node:lts stage: prod_extract_next_release Loading Loading @@ -274,7 +244,9 @@ prod_package_job: - git config --global user.name $GITLAB_USER_NAME - | if git commit -m "Release $DEV_RELEASE_VERSION: Update project version [skip ci]"; then git push -f "https://$GITLAB_USER_NAME:$GITLAB_TOKEN_SEMANTIC_VERSIONING@gitlab.ubitech.eu/maestro-v2/mdg-hypo/org.etsi.osl.hypo.portal/org.etsi.osl.hypo.portal.cart" HEAD:main git remote set-url origin "https://${GITLAB_USER_NAME}:${GITLAB_TOKEN_SEMANTIC_VERSIONING}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git" git push -f origin HEAD:main else echo "No changes to commit." fi Loading Loading
.gitlab-ci.yml +25 −53 Original line number Diff line number Diff line Loading @@ -20,11 +20,7 @@ variables: DOCKER_TLS_CERTDIR: "" DOCKER_DRIVER: overlay2 DOCKER_API_VERSION: "1.41" #DEPLOYMENT_SERVER_USER: "nsit" #DEPLOYMENT_SERVER_IP: "192.168.5.44" TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX: "registry.ubitech.eu/nsit/maestro-apps/" DEPLOYMENT_SERVER_IP: "192.168.5.185" DEPLOYMENT_SERVER_USER: "ubuntu" IMAGE_NAME: "maestro-portal-jvm" MAVEN_REPO: "${CI_PROJECT_ROOT_NAMESPACE}/.m2/repository" MAVEN_OPTS: "-Dmaven.repo.local=${CI_PROJECT_ROOT_NAMESPACE}/.m2/repository" Loading @@ -32,17 +28,6 @@ variables: SONAR_USER_HOME: "${CI_PROJECT_ROOT_NAMESPACE}/${CI_PROJECT_NAME}/.sonar" MAVEN_CLI_OPTS_SONAR: "-s .ci-settings.xml --no-transfer-progress" MAVEN_CLI_OPTS: "-s .ci-settings.xml --no-transfer-progress" HELM_INSTALLER_REPO: "gitlab.ubitech.eu/maestro-v2/installer/io.maestro.installer.orchestrator.helm.git" DEV_TMF_APIS_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.tmf.api/tmf-api-jvm:latest" DEV_SONATA_CORE_IMAGE: "registry.ubitech.eu/maestro-v2/sonata/io.maestro.sonata.core/sonata-core-jvm:latest" DEV_SONATA_HELM_IMAGE: "registry.ubitech.eu/maestro-v2/sonata/sonata.engine.helm/helm-engine:latest" DEV_ZTC_CLIENT_IMAGE: "registry.ubitech.eu/maestro-v2/io.maestro.ztc/io.maestro.ztc.client/ztc-client:latest" DEV_SONATA_OSS_IMAGE: "registry.ubitech.eu/maestro-v2/sonata/io.maestro.sonata.oss.client/oss-client-jvm:latest" DEV_TELEMETRY_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.telemetry/telemetry-api-jvm:latest" DEV_PEERING_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.peering/peering-api-jvm:latest" DEV_REGISTRY_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.registry/registry-api-jvm:latest" DEV_FABRIC_IMAGE: "registry.ubitech.eu/maestro-v2/api/io.maestro.api.fabric/fabric-api-jvm:latest" DEV_PORTAL: "registry.ubitech.eu/maestro-v2/io.maestro.portal/maestro-portal/maestro-portal:latest" cache: key: "${CI_PROJECT_ROOT_NAMESPACE}" Loading Loading @@ -166,64 +151,48 @@ dev_image_build_job: dev_deploy_job: stage: dev_deploy image: name: registry.ubitech.eu/nsit/maestro-apps/python:3.9 name: registry.ubitech.eu/nsit/maestro-apps/python-argocd:3.9 pull_policy: [always, if-not-present] before_script: - apt-get update && apt-get install -y curl && apt-get install -y jq - python3 -m pip install ruamel.yaml - curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/download/v2.13.5/argocd-linux-amd64 - install -m 555 argocd-linux-amd64 /usr/local/bin/argocd - git clone https://oauth2:$INSTALLER_TOKEN@gitlab.ubitech.eu/maestro-v2/installer/io.maestro.installer.orchestrator.helm.git - git clone --depth 1 --branch gitops-cd https://oauth2:$INSTALLER_TOKEN@$INSTALLER_REPO - cd io.maestro.installer.orchestrator.helm - git checkout gitops-cd - git pull origin gitops-cd script: - python3 scripts/helm_update.py $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA $DEV_TMF_APIS_IMAGE $DEV_SONATA_CORE_IMAGE $DEV_SONATA_HELM_IMAGE $DEV_ZTC_CLIENT_IMAGE $DEV_SONATA_OSS_IMAGE $DEV_TELEMETRY_IMAGE $DEV_PEERING_IMAGE $DEV_REGISTRY_IMAGE $DEV_FABRIC_IMAGE $DEV_PORTAL - python3 scripts/helm_update.py $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA $DEV_TMF_API_IMAGE $DEV_SONATA_CORE_IMAGE $DEV_SONATA_HELM_IMAGE $DEV_ZTC_CLIENT_IMAGE $DEV_SONATA_OSS_IMAGE $DEV_TELEMETRY_IMAGE $DEV_PEERING_IMAGE $DEV_REGISTRY_IMAGE $DEV_FABRIC_IMAGE $DEV_PORTAL - git add . - git config --global user.email "avalantasis@ubitech.eu" - git config --global user.name "avalantasis" - git config --global user.email "$GITLAB_USER_NAME" - git config --global user.name "$GITLAB_USER_EMAIL" - | if git commit -m "Update values.yaml for GitOps CD [skip ci]"; then git push origin gitops-cd else echo "No changes to commit." fi - | argocd login $ARGOCD_SERVER --username $ARGOCD_USERNAME --password $ARGOCD_PASSWORD --insecure argocd app sync maestro --timeout 300 APP_STATUS=$(argocd app get maestro -o json | jq -r '.status.health.status') if [ "$APP_STATUS" != "Healthy" ]; then echo "Argo CD application 'maestro' is not healthy. Current status: $APP_STATUS" exit 1 fi echo "Argo CD application 'maestro' is healthy." - | set -e argocd login "$ARGOCD_SERVER" --username "$ARGOCD_USERNAME" --password "$ARGOCD_PASSWORD" --insecure argocd app get maestro --refresh >/dev/null argocd app wait maestro --sync --health --timeout 120 echo "Argo CD application 'maestro' is synced and healthy." dependencies: - dev_image_build_job rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' dev_workflows_job: stage: dev_workflows image: name: registry.ubitech.eu/nsit/maestro-apps/docker:20.10.16 services: - name: registry.ubitech.eu/nsit/maestro-apps/docker:20.10.16-dind command: [ "--tls=false" ] alias: docker name: registry.ubitech.eu/nsit/maestro-apps/newman-ci:latest before_script: - docker info > /dev/null - apk update && apk add git - git clone https://oauth2:$COLLECTION_TOKEN@gitlab.ubitech.eu/maestro-v2/io.maestro.cd/io.maestro.cd.collections.git - git clone --depth 1 https://oauth2:$COLLECTION_TOKEN@$COLLECTION_REPO - cp io.maestro.cd.collections/files/collection.json . - cp io.maestro.cd.collections/files/env.json . - echo "$MAESTRO_APPS_TOKEN" | docker login $MAESTRO_APPS_REGISTRY -u $MAESTRO_APPS_USER --password-stdin script: #- sleep 120 - ls -l - docker run -v $(pwd):/etc/newman -t registry.ubitech.eu/nsit/maestro-apps/postman/newman:latest run /etc/newman/collection.json --environment /etc/newman/env.json - newman run collection.json --environment env.json dependencies: - dev_deploy_job rules: Loading @@ -231,6 +200,7 @@ dev_workflows_job: prod_extract_next_release_job: image: registry.ubitech.eu/nsit/maestro-apps/node:lts stage: prod_extract_next_release Loading Loading @@ -274,7 +244,9 @@ prod_package_job: - git config --global user.name $GITLAB_USER_NAME - | if git commit -m "Release $DEV_RELEASE_VERSION: Update project version [skip ci]"; then git push -f "https://$GITLAB_USER_NAME:$GITLAB_TOKEN_SEMANTIC_VERSIONING@gitlab.ubitech.eu/maestro-v2/mdg-hypo/org.etsi.osl.hypo.portal/org.etsi.osl.hypo.portal.cart" HEAD:main git remote set-url origin "https://${GITLAB_USER_NAME}:${GITLAB_TOKEN_SEMANTIC_VERSIONING}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git" git push -f origin HEAD:main else echo "No changes to commit." fi Loading