Skip to content
Snippets Groups Projects
Commit 4230cc32 authored by Andres Anaya Amariels's avatar Andres Anaya Amariels :rocket:
Browse files

deploy oficial staging

parent 15022bd6
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
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
......
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment