Commit 4230cc32 authored by Andres Anaya Amariels's avatar Andres Anaya Amariels 🚀
Browse files

deploy oficial staging

parent 15022bd6
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -61,18 +61,18 @@ variables:
  tags:
    - docker-in-docker

.staging_common: &staging_common
  only:
    - merge_requests
  except:
    variables:
      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "staging"
  tags:
    - shell
#.staging_common: &staging_common
#  only:
#    - merge_requests
#  except:
#    variables:
#      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "staging"
#  tags:
#    - shell#

.dev_common: &dev_common
  tags:
    - shell
#.dev_common: &dev_common
#  tags:
#    - shell

#main_cancel_previous_action:
#  stage: main_pre_pipeline
+72 −15
Original line number Diff line number Diff line
stages:
  - deploy_ocf_oficial_staging
  - deploy_ocf_staging
  - delete_ocf_staging
  - deploy_ocf_dev
@@ -18,43 +19,37 @@ variables:
  VAULT_ACCESS_TOKEN: $VAULT_ACCESS_TOKEN
  CI_REGISTRY: $CI_REGISTRY

.main_common: &main_common
.staging_common: &staging_common
  only:
    - merge_requests
  except:
    variables:
#      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "main"
      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "staging"
  tags:
    - shell

.staging_common: &staging_common
  only:
    - merge_requests
  except:
    variables:
      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "staging"
.staging_post_mr: &staging_post_mr
  tags:
    - shell
  rules:
    - if: '$CI_COMMIT_REF_NAME == "staging"'

.dev_common: &dev_common
  tags:
    - shell


## staging before mr ###
deploy_ocf_staging:
  stage: deploy_ocf_staging
  needs:
    - staging_build_and_push
  <<: *staging_common
  environment:
    name: review/staging
    name: review/dev_to_staging
    url: https://capif-$CI_ENVIRONMENT_SLUG.$DOMAIN_STAGING
    on_stop: delete_ocf_staging
    auto_stop_in: 3 day
#  rules:
#    - if: $CI_COMMIT_BRANCH == "main"
#      when: never
#    - if: $CI_COMMIT_BRANCH == "staging"
  script:
    - |
      helm version
@@ -113,12 +108,74 @@ delete_ocf_staging:
  <<: *staging_common
  script:
    - echo "### deleting environment $NAMESPACE_STAGING###"
#    - helm uninstall -n $NAMESPACE_STAGING ocf-staging
    - helm uninstall -n $NAMESPACE_DEV ocf-staging
  when: manual
  environment:
    name: review/staging
    name: review/dev_to_staging
    action: stop

### staging branch merged ###
deploy_ocf_oficial_staging:
  stage: deploy_ocf_oficial_staging
  needs:
    - staging_build_and_push_mr
  <<: *staging_common
  environment:
    name: review/oficial-staging
    url: https://capif-staging.$DOMAIN_STAGING
  script:
    - |
      helm version
      kubectl version --output=yaml
      echo "### setting kubeconfig###"
      whoami
      kubectl cluster-info
      yq --version
      ls -rtt helm/capif
      cat helm/capif/Chart.yaml
      yq e -i ".appVersion = \"$IMAGE_TAG_STAGING\"" helm/capif/Chart.yaml
      cat helm/capif/Chart.yaml
      echo "### download dependencies###"
      helm dependency build helm/capif
      echo "### updating capif###"
      helm upgrade --install -n $NAMESPACE_STAGING ocf-staging helm/capif/ --set nginx.nginx.env.capifHostname=capif-staging.$DOMAIN_STAGING \
      --set nginx.nginx.env.registerHostname=register-staging.$DOMAIN_STAGING \
      --set monitoring.grafana.ingress.hosts[0].host="grafana-staging.$DOMAIN_STAGING" \
      --set monitoring.grafana.ingress.hosts[0].paths[0].path="/" \
      --set monitoring.grafana.ingress.hosts[0].paths[0].pathType="Prefix" \
      --set monitoring.grafana.env.prometheusURL=http://prometheus.ocf.pre-production \
      --set tempo.tempo.metricsGenerator.remoteWriteUrl=http://prometheus.ocf.pre-production/api/v1/write \
      --set parametersVault.env.vaultHostname=$VAULT_HOSTNAME \
      --set parametersVault.env.vaultPort=$VAULT_PORT \
      --set parametersVault.env.vaultAccessToken=$VAULT_ACCESS_TOKEN \
      --set ingress.ip=10.43.107.132 \
      --set accessControlPolicy.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-access-control-policy-api \
      --set accessControlPolicy.image.tag=staging \
      --set apiInvocationLogs.apiInvocationLogs.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-logging-api-invocation-api \
      --set apiInvocationLogs.apiInvocationLogs.image.tag=staging \
      --set apiInvokerManagement.apiInvokerManagement.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-api-invoker-management-api \
      --set apiInvokerManagement.apiInvokerManagement.image.tag=staging \
      --set apiProviderManagement.apiProviderManagement.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-api-provider-management-api \
      --set apiProviderManagement.apiProviderManagement.image.tag=staging \
      --set capifEvents.capifEvents.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-events-api \
      --set capifEvents.capifEvents.image.tag=staging \
      --set capifRoutingInfo.capifRoutingInfo.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-routing-info-api \
      --set capifRoutingInfo.capifRoutingInfo.image.tag=staging \
      --set capifSecurity.capifSecurity.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-security-api \
      --set capifSecurity.capifSecurity.image.tag=staging \
      --set register.register.image.repository=$CI_REGISTRY/ocf/capif/staging/register \
      --set register.register.image.tag=staging \
      --set logs.logs.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-auditing-api \
      --set logs.logs.image.tag=staging \
      --set nignx.nginx.image.repository=$CI_REGISTRY/ocf/capif/staging/nginx \
      --set nignx.nginx.image.tag=staging \
      --set publishedApis.publishedApis.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-publish-service-api \
      --set publishedApis.publishedApis.image.tag=staging \
      --set serviceApis.serviceApis.image.repository=$CI_REGISTRY/ocf/capif/staging/ocf-discover-service-api \
      --set serviceApis.serviceApis.image.tag=staging \
      --set nginx.nginx.image.repository=$CI_REGISTRY/ocf/capif/staging/nginx \
      --set nginx.nginx.image.tag=staging --wait --timeout=10m --create-namespace

## dev ###
deploy_ocf_dev:
  stage: deploy_ocf_dev
+92 −5
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ stages:
  - staging_unit_tests
  - staging_security
  - staging_build_and_push
  - staging_build_and_push_mr

variables:
  CI_JOB_TOKEN: $CI_JOB_TOKEN
@@ -16,14 +17,18 @@ variables:
  CAPIF_DOCKER_REGISTRY: $CAPIF_DOCKER_REGISTRY

.staging_common: &staging_common
  only:
    - merge_requests
  except:
    variables:
      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "staging"
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "staging"'
  tags:
    - shell

.staging_mr: &staging_mr
  rules:
    - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == "staging"'
  tags:
    - shell


.staging_dnd: &staging_dnd
  allow_failure: true
  rules:
@@ -324,3 +329,85 @@ staging_build_and_push:
   - echo "----------------------------------------------------"
   - docker logout $CI_REGISTRY
  <<: *staging_common

### staging branch merged ###
staging_build_and_push_mr:
  stage: staging_build_and_push_mr
  script:
   - export TMP_PWD=$PWD
   - echo "TMP_PWD=$TMP_PWD"
   - echo "### docker login###"
   - docker login --username $CI_REGISTRY_USER --password $CAPIF_DOCKER_REGISTRY $CI_REGISTRY
   - echo "----------------------------------------------------"
   - echo "### build and push nginx image###"
   - cd $TMP_PWD/services/nginx/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/nginx:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/nginx:staging
   - echo "----------------------------------------------------"
   - echo "### build and push register image###"
   - cd $TMP_PWD/services/register/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/register:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/register:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_Access_Control_Policy_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_Access_Control_Policy_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-access-control-policy-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-access-control-policy-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_API_Invoker_Management_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_API_Invoker_Management_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-api-invoker-management-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-api-invoker-management-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_API_Provider_Management_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_API_Provider_Management_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-api-provider-management-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-api-provider-management-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_Auditing_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_Auditing_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-auditing-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-auditing-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_Discover_Service_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_Discover_Service_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-discover-service-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-discover-service-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_Events_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_Events_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-events-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-events-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_Logging_API_Invocation_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_Logging_API_Invocation_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-logging-api-invocation-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-logging-api-invocation-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_Publish_Service_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_Publish_Service_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-publish-service-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-publish-service-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_Routing_Info_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_Routing_Info_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-routing-info-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-routing-info-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push TS29222_CAPIF_Security_API image###"
   - cd $TMP_PWD/services/TS29222_CAPIF_Security_API/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/ocf-security-api:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/ocf-security-api:staging
   - echo "----------------------------------------------------"
   - echo "### build and push vault image###"
   - cd $TMP_PWD/services/vault/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/vault:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/vault:staging
   - echo "----------------------------------------------------"
   - echo "### build and push helper image###"
   - cd $TMP_PWD/services/helper/
   - docker build -t $CI_REGISTRY/ocf/capif/staging/helper:staging .
   - docker push $CI_REGISTRY/ocf/capif/staging/helper:staging
   - echo "----------------------------------------------------"
   - docker logout $CI_REGISTRY
  <<: *staging_mr
 No newline at end of file