aks/tomcat/README.md #127
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
schedule: | |
- cron: '0 5 * * 2' | |
workflow_dispatch: | |
name: 'aks/tomcat/README.md' | |
jobs: | |
validate: | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: 'azure/login@v1' | |
with: | |
subscription-id: '${{ secrets.AZURE_SUBSCRIPTION_ID }}' | |
client-id: '${{ secrets.AZURE_CLIENT_ID }}' | |
tenant-id: '${{ secrets.AZURE_TENANT_ID }}' | |
- uses: 'actions/checkout@v3' | |
- run: | | |
if [[ -z $REGION ]]; then | |
export REGION=westus2 | |
fi | |
if [[ -z $REGION ]]; then | |
export REGION=westus | |
fi | |
if [[ -z $RESOURCE_GROUP ]]; then | |
export RESOURCE_GROUP=joazrg-$RANDOM | |
echo "Using '"$RESOURCE_GROUP"' as resource group" | |
fi | |
az group create --name $RESOURCE_GROUP --location $REGION | |
if [[ -z $AKS ]]; then | |
export AKS=joazaks$RANDOM | |
echo --------------------------------------------------------------------- | |
echo Creating AKS cluster - $AKS | |
echo --------------------------------------------------------------------- | |
az aks create --name $AKS --resource-group $RESOURCE_GROUP --generate-ssh-keys --verbose | |
sleep 120 | |
fi | |
cd aks/create-kube-config | |
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS --admin --file config | |
export KUBECONFIG=$PWD/config | |
cd ../.. | |
if [[ -z $REGION ]]; then | |
export REGION=westus | |
fi | |
if [[ -z $REGION ]]; then | |
export REGION=westus | |
fi | |
if [[ -z $RESOURCE_GROUP ]]; then | |
export RESOURCE_GROUP=joazrg-$RANDOM | |
echo "Using '"$RESOURCE_GROUP"' as resource group" | |
fi | |
az group create --name $RESOURCE_GROUP --location $REGION | |
if [[ -z $ACR_NAME ]]; then | |
export ACR_NAME=joazcr$RANDOM | |
fi | |
az acr create \ | |
--name $ACR_NAME \ | |
--resource-group $RESOURCE_GROUP \ | |
--sku Basic \ | |
--admin-enabled true | |
cd acr/tomcat | |
mvn package | |
export ACR_TOMCAT_IMAGE=tomcat:latest | |
az acr build --registry $ACR_NAME --image $ACR_TOMCAT_IMAGE . | |
cd ../.. | |
if [[ -z $REGION ]]; then | |
export REGION=westus2 | |
fi | |
if [[ -z $REGION ]]; then | |
export REGION=westus | |
fi | |
if [[ -z $RESOURCE_GROUP ]]; then | |
export RESOURCE_GROUP=joazrg-$RANDOM | |
echo "Using '"$RESOURCE_GROUP"' as resource group" | |
fi | |
az group create --name $RESOURCE_GROUP --location $REGION | |
if [[ -z $AKS ]]; then | |
export AKS=joazaks$RANDOM | |
echo --------------------------------------------------------------------- | |
echo Creating AKS cluster - $AKS | |
echo --------------------------------------------------------------------- | |
az aks create --name $AKS --resource-group $RESOURCE_GROUP --generate-ssh-keys --verbose | |
sleep 120 | |
fi | |
if [[ -z $REGION ]]; then | |
export REGION=westus | |
fi | |
if [[ -z $REGION ]]; then | |
export REGION=westus | |
fi | |
if [[ -z $RESOURCE_GROUP ]]; then | |
export RESOURCE_GROUP=joazrg-$RANDOM | |
echo "Using '"$RESOURCE_GROUP"' as resource group" | |
fi | |
az group create --name $RESOURCE_GROUP --location $REGION | |
if [[ -z $ACR_NAME ]]; then | |
export ACR_NAME=joazcr$RANDOM | |
fi | |
az acr create \ | |
--name $ACR_NAME \ | |
--resource-group $RESOURCE_GROUP \ | |
--sku Basic \ | |
--admin-enabled true | |
az aks update --name $AKS --resource-group $RESOURCE_GROUP --attach-acr $ACR_NAME | |
cd aks/tomcat | |
sed -i "s/ACR/$ACR_NAME/g" deployment.yml | |
kubectl apply -f deployment.yml | |
sleep 240 | |
export URL=http://$(kubectl get service/tomcat --output jsonpath="{.status.loadBalancer.ingress[0].ip}") | |
export RESULT=$(curl $URL) | |
az group delete --name $RESOURCE_GROUP --yes || true | |
if [[ "$RESULT" != *"custom Tomcat"* ]]; then | |
echo "Response did not contain 'custom Tomcat'" | |
exit 1 | |
fi | |
cd ../.. | |
permissions: | |
contents: 'read' | |
id-token: 'write' |