Skip to content

Merge pull request #819 from Dynatrace/812-feature-jenkins-jenkins-co… #65

Merge pull request #819 from Dynatrace/812-feature-jenkins-jenkins-co…

Merge pull request #819 from Dynatrace/812-feature-jenkins-jenkins-co… #65

name: Deploy demo environments
on:
push:
tags:
- '*'
workflow_dispatch:
inputs:
# shared vars for both environments
use_cases_for_both:
description: 'Enter the use cases to run for initial run (comma-separated). Example: ["demo_ar_workflows_gitlab","demo_ar_workflows_ansible"]'
required: true
default: '["demo_all"]'
type: string
providers_for_both:
description: 'Select the providers to run for initial run (comma-separated). Example: ["gcloud","aws"]'
required: true
default: '["gcloud"]'
type: string
# sprint
custom_domain_sprint:
description: "Custom Domain Name for Sprint Environment"
required: true
default: "demo-sprint.ace-innovation.info"
type: string
dt_tenant_sprint:
description: "Dynatrace tenant (Gen2) for Sprint Environment"
required: true
default: "https://xxo38725.sprint.dynatracelabs.com"
type: string
dt_url_gen3_sprint:
description: "Dynatrace platform tenant (Gen3) for Sprint Environment"
required: true
default: "https://xxo38725.sprint.apps.dynatracelabs.com"
type: string
# live
custom_domain_live:
description: "Custom Domain Name for Live Environment"
required: true
default: "demo-live.ace-innovation.info"
type: string
dt_tenant_live:
description: "Dynatrace tenant (Gen2) for Live Environment"
required: true
default: "https://dhg95339.sprint.dynatracelabs.com"
type: string
dt_url_gen3_live:
description: "Dynatrace platform tenant (Gen3) for Live Environment"
required: true
default: "https://dhg95339.sprint.apps.dynatracelabs.com"
type: string
deploy_live:
description: "Deploy to live environment"
required: false
default: false
type: boolean
jobs:
destroy_sprint:
if: github.event.inputs.deploy_live == 'false'
uses: ./.github/workflows/validation.yaml
with:
use_cases: ${{ github.event.inputs.use_cases_for_both }}
providers: ${{ github.event.inputs.providers_for_both }}
destroy_resources: true
use_case_validation_tests_enabled: false
custom_domain: ${{ github.event.inputs.custom_domain_sprint }}
dt_tenant: ${{ github.event.inputs.dt_tenant_sprint }}
dt_url_gen3: ${{ github.event.inputs.dt_url_gen3_sprint }}
dt_oauth_sso_endpoint: ${{ vars.DT_OAUTH_SSO_ENDPOINT }}
dt_oauth_account_urn: ${{ vars.DT_OAUTH_ACCOUNT_URN }}
secrets:
dt_api_token: ${{ secrets.DT_API_TOKEN_SPRINT_XXO38725 }}
gcp_credentials_json: '${{ secrets.GCP_CREDENTIALS_JSON }}'
dt_oauth_client_id: ${{ secrets.DT_OAUTH_CLIENT_ID }}
dt_oauth_client_secret: ${{ secrets.DT_OAUTH_CLIENT_SECRET }}
deploy_sprint:
needs: destroy_sprint
if: github.event.inputs.deploy_live == 'false'
uses: ./.github/workflows/validation.yaml
with:
use_cases: ${{ github.event.inputs.use_cases_for_both }}
providers: ${{ github.event.inputs.providers_for_both }}
destroy_resources: false
use_case_validation_tests_enabled: true
custom_domain: ${{ github.event.inputs.custom_domain_sprint }}
dt_tenant: ${{ github.event.inputs.dt_tenant_sprint }}
dt_url_gen3: ${{ github.event.inputs.dt_url_gen3_sprint }}
dt_oauth_sso_endpoint: ${{ vars.DT_OAUTH_SSO_ENDPOINT }}
dt_oauth_account_urn: ${{ vars.DT_OAUTH_ACCOUNT_URN }}
secrets:
dt_api_token: ${{ secrets.DT_API_TOKEN_SPRINT_XXO38725 }}
gcp_credentials_json: '${{ secrets.GCP_CREDENTIALS_JSON }}'
dt_oauth_client_id: ${{ secrets.DT_OAUTH_CLIENT_ID }}
dt_oauth_client_secret: ${{ secrets.DT_OAUTH_CLIENT_SECRET }}
destroy_live:
if: github.event.inputs.deploy_live == 'true'
uses: ./.github/workflows/validation.yaml
with:
use_cases: ${{ github.event.inputs.use_cases_for_both }}
providers: ${{ github.event.inputs.providers_for_both }}
destroy_resources: true
use_case_validation_tests_enabled: false
custom_domain: ${{ github.event.inputs.custom_domain_live }}
dt_tenant: ${{ github.event.inputs.dt_tenant_live }}
dt_url_gen3: ${{ github.event.inputs.dt_url_gen3_live }}
dt_oauth_sso_endpoint: ${{ vars.DT_OAUTH_SSO_ENDPOINT }}
dt_oauth_account_urn: ${{ vars.DT_OAUTH_ACCOUNT_URN }}
secrets:
dt_api_token: ${{ secrets.DT_API_TOKEN_LIVE_dhg95339 }}
gcp_credentials_json: '${{ secrets.GCP_CREDENTIALS_JSON }}'
dt_oauth_client_id: ${{ secrets.DT_OAUTH_CLIENT_ID }}
dt_oauth_client_secret: ${{ secrets.DT_OAUTH_CLIENT_SECRET }}
deploy_live:
needs: destroy_live
if: github.event.inputs.deploy_live == 'true'
uses: ./.github/workflows/validation.yaml
with:
use_cases: ${{ github.event.inputs.use_cases_for_both }}
providers: ${{ github.event.inputs.providers_for_both }}
destroy_resources: false
use_case_validation_tests_enabled: true
custom_domain: ${{ github.event.inputs.custom_domain_live }}
dt_tenant: ${{ github.event.inputs.dt_tenant_live }}
dt_url_gen3: ${{ github.event.inputs.dt_url_gen3_live }}
dt_oauth_sso_endpoint: ${{ vars.DT_OAUTH_SSO_ENDPOINT }}
dt_oauth_account_urn: ${{ vars.DT_OAUTH_ACCOUNT_URN }}
environment_name: demo-live
environment_url: ${{ github.event.inputs.dt_tenant_live }}
# environment_reviewers: eemrdog #Dynatrace/ace-box-owners
secrets:
dt_api_token: ${{ secrets.DT_API_TOKEN_LIVE_dhg95339 }}
gcp_credentials_json: '${{ secrets.GCP_CREDENTIALS_JSON }}'
dt_oauth_client_id: ${{ secrets.DT_OAUTH_CLIENT_ID }}
dt_oauth_client_secret: ${{ secrets.DT_OAUTH_CLIENT_SECRET }}