@ -0,0 +1,50 @@ | |||
name: Deploy basket-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["basket-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: basket-api | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy catalog-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["catalog-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: catalog-api | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy identity-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["identity-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: identity-api | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy mobileshoppingagg | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["mobileshoppingagg"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: mobileshoppingagg | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy ordering-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["ordering-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: ordering-api | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy ordering-backgroundtasks | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["ordering-backgroundtasks"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: ordering-backgroundtasks | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy ordering-signalrhub | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["ordering-signalrhub"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: ordering-signalrhub | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy payment-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["payment-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: payment-api | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webhooks-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webhooks-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: webhooks-api | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webmvc | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webmvc"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: webmvc | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webshoppingagg | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webshoppingagg"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: webshoppingagg | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webspa | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webspa"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: webspa | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webstatus | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webstatus"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
chart: webstatus | |||
namespace: eshop | |||
app-name: eshop | |||
chart-root: deploy/k8s/helm | |||
jobs: | |||
DeployToK8s: | |||
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v1 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.chart-root }} |
@ -0,0 +1,199 @@ | |||
#!/usr/bin/env bash | |||
# http://redsymbol.net/articles/unofficial-bash-strict-mode | |||
set -euo pipefail | |||
usage() | |||
{ | |||
cat <<END | |||
deploy.sh: deploys the $app_name application to a Kubernetes cluster using Helm. | |||
Parameters: | |||
--aks-name <AKS cluster name> | |||
The name of the AKS cluster. Required when the registry (using the -r parameter) is set to "aks". | |||
--aks-rg <AKS resource group> | |||
The resource group for the AKS cluster. Required when the registry (using the -r parameter) is set to "aks". | |||
-c | --chart <name of chart> | |||
The name of the chart to upgrade (or install) | |||
-d | --dns <dns or ip address> | --dns aks | |||
Specifies the external DNS/ IP address of the Kubernetes cluster. | |||
If 'aks' is set as value, the DNS value is retrieved from the AKS. --aks-name and --aks-rg are needed. | |||
When --use-local-k8s is specified the external DNS is automatically set to localhost. | |||
-h | --help | |||
Displays this help text and exits the script. | |||
-n | --app-name <the name of the app> | |||
Specifies the name of the application (default: eshop). | |||
--namespace <namespace name> | |||
Specifies the namespace name to deploy the app. If it doesn't exists it will be created (default: eshop). | |||
-p | --docker-password <docker password> | |||
The Docker password used to logon to the custom registry, supplied using the -r parameter. | |||
-r | --registry <container registry> | |||
Specifies the container registry to use (required), e.g. myregistry.azurecr.io. | |||
--skip-clean | |||
Do not clean the Kubernetes helm chart. Default is to clean the chart. | |||
-t | --tag <docker image tag> | |||
The tag used for the newly created docker images. Default: latest. | |||
-u | --docker-username <docker username> | |||
The Docker username used to logon to the custom registry, supplied using the -r parameter. | |||
--use-local-k8s | |||
Deploy to a locally installed Kubernetes (default: false). | |||
It is assumed that the Kubernetes cluster has been granted access to the container registry. | |||
If using AKS and ACR see link for more info: | |||
https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-aks | |||
WARNING! THE SCRIPT WILL COMPLETELY DESTROY ALL DEPLOYMENTS AND SERVICES VISIBLE | |||
FROM THE CURRENT CONFIGURATION CONTEXT AND NAMESPACE. | |||
It is recommended that you check your selected namespace, 'eshop' by default, is already in use. | |||
Every deployment and service done in the namespace will be deleted. | |||
For more information see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ | |||
END | |||
} | |||
acr_connected='' | |||
app_name='eshop' | |||
aks_name='' | |||
aks_rg='' | |||
chart='' | |||
clean='yes' | |||
container_registry='' | |||
docker_password='' | |||
docker_username='' | |||
dns='' | |||
image_tag='latest' | |||
skip_infrastructure='' | |||
use_local_k8s='' | |||
namespace='eshop' | |||
while [[ $# -gt 0 ]]; do | |||
case "$1" in | |||
--acr-connected ) | |||
acr_connected='yes'; shift ;; | |||
--aks-name ) | |||
aks_name="$2"; shift 2;; | |||
--aks-rg ) | |||
aks_rg="$2"; shift 2;; | |||
-c | --chart ) | |||
chart="$2"; shift 2;; | |||
-d | --dns ) | |||
dns="$2"; shift 2;; | |||
-h | --help ) | |||
usage; exit 1 ;; | |||
-n | --app-name ) | |||
app_name="$2"; shift 2;; | |||
-p | --docker-password ) | |||
docker_password="$2"; shift 2;; | |||
-r | --registry ) | |||
container_registry="$2"; shift 2;; | |||
--skip-clean ) | |||
clean=''; shift ;; | |||
--image-build ) | |||
build_images='yes'; shift ;; | |||
--image-push ) | |||
push_images='yes'; shift ;; | |||
--skip-infrastructure ) | |||
skip_infrastructure='yes'; shift ;; | |||
-t | --tag ) | |||
image_tag="$2"; shift 2;; | |||
-u | --docker-username ) | |||
docker_username="$2"; shift 2;; | |||
--use-local-k8s ) | |||
use_local_k8s='yes'; shift ;; | |||
--namespace ) | |||
namespace="$2"; shift 2;; | |||
*) | |||
echo "Unknown option $1" | |||
usage; exit 2 ;; | |||
esac | |||
done | |||
export TAG=$image_tag | |||
use_custom_registry='' | |||
if [[ -n $container_registry ]] && [[ -z $acr_connected ]]; then | |||
echo "################ Log into custom registry $container_registry ##################" | |||
use_custom_registry='yes' | |||
if [[ -z $docker_username ]] || [[ -z $docker_password ]]; then | |||
echo "Error: Must use -u (--docker-username) AND -p (--docker-password) if specifying custom registry" | |||
exit 1 | |||
fi | |||
docker login -u $docker_username -p $docker_password $container_registry | |||
fi | |||
ingress_values_file="ingress_values.yaml" | |||
if [[ $use_local_k8s ]]; then | |||
ingress_values_file="ingress_values_dockerk8s.yaml" | |||
dns="localhost" | |||
fi | |||
if [[ $dns == "aks" ]]; then | |||
echo "#################### Begin AKS discovery based on the --dns aks setting. ####################" | |||
if [[ -z $aks_name ]] || [[ -z $aks_rg ]]; then | |||
echo "Error: When using -dns aks, MUST set -aksName and -aksRg too." | |||
echo '' | |||
usage | |||
exit 1 | |||
fi | |||
echo "Getting AKS cluster $aks_name AKS (in resource group $aks_rg)" | |||
# JMESPath queries are case sensitive and httpapplicationrouting can be lowercase sometimes | |||
jmespath_dnsqueries=(\ | |||
addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName \ | |||
addonProfiles.httpapplicationrouting.config.HTTPApplicationRoutingZoneName \ | |||
) | |||
for q in "${jmespath_dnsqueries[@]}" | |||
do | |||
dns="$(az aks show -n $aks_name -g $aks_rg --query $q -o tsv)" | |||
if [[ -n $dns ]]; then break; fi | |||
done | |||
if [[ -z $dns ]]; then | |||
echo "Error: when getting DNS of AKS $aks_name (in resource group $aks_rg). Please ensure AKS has httpRouting enabled AND Azure CLI is logged in and is of version 2.0.37 or higher." | |||
exit 1 | |||
fi | |||
echo "DNS base found is $dns. Will use $aks_name.$dns for the app!" | |||
dns="$aks_name.$dns" | |||
fi | |||
# Initialization & check commands | |||
if [[ -z $dns ]]; then | |||
echo "No DNS specified. Ingress resources will be bound to public IP." | |||
fi | |||
previous_install='' | |||
if [[ -z $(helm ls -q --namespace $namespace | grep "$app_name-$chart") ]]; then | |||
echo "No previous release found" | |||
else | |||
previous_install='yes' | |||
fi | |||
if [[ $clean ]] && [[ $previous_install ]]; then | |||
echo "Cleaning previous helm releases..." | |||
helm uninstall "$app_name-$chart" --namespace $namespace | |||
echo "Previous release deleted" | |||
waitsecs=5; while [ $waitsecs -gt 0 ]; do echo -ne "$waitsecs\033[0K\r"; sleep 1; : $((waitsecs--)); done | |||
previous_install='' | |||
fi | |||
echo "#################### Begin $app_name $chart installation using Helm ####################" | |||
if [[ $use_custom_registry ]] || [[ $acr_connected ]]; then | |||
if [[ -z $acr_connected ]]; then | |||
if [[ -z $previous_install ]]; then | |||
helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --set inf.registry.server=$container_registry --set inf.registry.login=$docker_username --set inf.registry.pwd=$docker_password --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
else | |||
helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
fi | |||
elif [[ $chart != "eshop-common" ]]; then | |||
# ACR is already connected, so we don't need username/password | |||
if [[ -z $previous_install ]]; then | |||
helm install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --set inf.registry.server=$container_registry --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
else | |||
# don't set the image repo since it's already set | |||
helm upgrade "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
fi | |||
fi | |||
elif [[ $chart != "eshop-common" ]]; then # eshop-common is ignored when no secret must be deployed | |||
helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
fi | |||
echo "FINISHED: Helm chart installed." |