appservice/container-jetty/README.md #111
This file contains 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 11 * * 4' | |
workflow_dispatch: | |
name: 'appservice/container-jetty/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=westus | |
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 | |
cd acr/jetty | |
mvn package | |
export ACR_JETTY_IMAGE=jetty:latest | |
az acr build --resource-group $RESOURCE_GROUP --registry $ACR_NAME --image $ACR_JETTY_IMAGE . | |
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/create-settings-xml | |
export ACR_USERNAME=`az acr credential show --name $ACR_NAME \ | |
--resource-group $RESOURCE_GROUP --query username --output tsv` | |
export ACR_PASSWORD=`az acr credential show --name $ACR_NAME \ | |
--resource-group $RESOURCE_GROUP --query 'passwords[0].value' --output tsv` | |
export SETTINGS_XML=$PWD/settings.xml | |
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 $APPSERVICE_PLAN ]]; then | |
export APPSERVICE_PLAN=joazasp-$RANDOM | |
fi | |
az appservice plan create \ | |
--resource-group $RESOURCE_GROUP \ | |
--location $REGION \ | |
--name $APPSERVICE_PLAN \ | |
--is-linux \ | |
--sku P1v3 | |
cd appservice/container-jetty | |
export APPSERVICE_CONTAINER_JETTY=appservice-container-jetty-$RANDOM | |
mvn azure-webapp:deploy \ | |
--settings=$SETTINGS_XML \ | |
-DappName=$APPSERVICE_CONTAINER_JETTY \ | |
-DimageName=$ACR_JETTY_IMAGE \ | |
-DappServicePlan=$APPSERVICE_PLAN \ | |
-DresourceGroup=$RESOURCE_GROUP \ | |
-DserverId=$ACR_NAME | |
az webapp show \ | |
--resource-group $RESOURCE_GROUP \ | |
--name $APPSERVICE_CONTAINER_JETTY \ | |
--query 'hostNames[0]' \ | |
--output tsv | |
sleep 180 | |
cd ../.. | |
export RESULT=$(az webapp show --resource-group $RESOURCE_GROUP --name $APPSERVICE_CONTAINER_JETTY --output tsv --query state) | |
if [[ "$RESULT" != Running ]]; then | |
echo 'Web application is NOT running' | |
az group delete --name $RESOURCE_GROUP --yes || true | |
exit 1 | |
fi | |
export URL=https://$(az webapp show --resource-group $RESOURCE_GROUP --name $APPSERVICE_CONTAINER_JETTY --output tsv --query defaultHostName) | |
export RESULT=$(curl $URL) | |
az group delete --name $RESOURCE_GROUP --yes || true | |
if [[ "$RESULT" != *"custom Jetty"* ]]; then | |
echo "Response did not contain 'custom Jetty'" | |
exit 1 | |
fi | |
permissions: | |
contents: 'read' | |
id-token: 'write' |