Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
cicd-deploy-release.gitlab-ci.yml 14.28 KiB
stages:
  - prod_build_and_push
  - deploy_ocf_prod

variables:
  CI_JOB_TOKEN: $CI_JOB_TOKEN
  CI_DEBUG_TRACE: "false"
  CI_REGISTRY_USER: $CI_REGISTRY_USER
  CI_REGISTRY: $CI_REGISTRY
  CAPIF_DOCKER_REGISTRY: $CAPIF_DOCKER_REGISTRY
  NAMESPACE_PROD: "ocf-prod"
  DOMAIN_PROD: prod.int
  PATH_PROD: prod

# it will only run when a new tag that starts with ‘v{major.minor.patch}-release’ is pushed
# to the repository.
.release_common: &relase_common
  rules:
#    - if: '$CI_COMMIT_TAG =~ /^.*-release$/'
    - if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+-release$/'
  tags:
    - shell

prod_build_and_push:
  stage: prod_build_and_push
  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/$PATH_PROD/nginx:$$CI_COMMIT_TAG .
   - docker push $CI_REGISTRY/ocf/capif/$PATH_PROD/nginx:$$CI_COMMIT_TAG
   - echo "----------------------------------------------------"
   - echo "### build and push register image###"
   - cd $TMP_PWD/services/register/
   - docker build -t $CI_REGISTRY/ocf/capif/$PATH_PROD/register:$$CI_COMMIT_TAG .
   - docker push $CI_REGISTRY/ocf/capif/$PATH_PROD/register:$$CI_COMMIT_TAG
   - 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/$PATH_PROD/ocf-access-control-policy-api:$$CI_COMMIT_TAG .
   - docker push $CI_REGISTRY/ocf/capif/$PATH_PROD/ocf-access-control-policy-api:$$CI_COMMIT_TAG
   - 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/$PATH_PROD/ocf-api-invoker-management-api:$$CI_COMMIT_TAG .
   - docker push $CI_REGISTRY/ocf/capif/$PATH_PROD/ocf-api-invoker-management-api:$$CI_COMMIT_TAG
   - 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/$PATH_PROD/ocf-api-provider-management-api:$$CI_COMMIT_TAG .
   - docker push $CI_REGISTRY/ocf/capif/$PATH_PROD/ocf-api-provider-management-api:$$CI_COMMIT_TAG
   - 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/$PATH_PROD/ocf-auditing-api:$$CI_COMMIT_TAG .
   - docker push $CI_REGISTRY/ocf/capif/$PATH_PROD/ocf-auditing-api:$$CI_COMMIT_TAG
   - 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/$PATH_PROD/ocf-discover-service-api:$$CI_COMMIT_TAG .
   - docker push $CI_REGISTRY/ocf/capif/$PATH_PROD/ocf-discover-service-api:$$CI_COMMIT_TAG
   - 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/$PATH_PROD/ocf-events-api:$$CI_COMMIT_TAG .
   - docker push $CI_REGISTRY/ocf/capif/$PATH_PROD/ocf-events-api:$$CI_COMMIT_TAG