Workflow file: .github/workflows/azure-container-instance.yml
For pushes to the master branch, the workflow will:
- Setup the build environment with respect to the selected java/graalvm version.
- Login to Docker registry.
- Login to Azure Command-Line Interface.
- Build, tag and push Docker image with Micronaut application to the Docker Registry.
- Deploy to Azure Container Instances.
- Login to Docker Registry
docker/login - Setup GraalVM
DeLaGuardo/setup-graalvm - Setup Azure CLI
azure/login
Add the following GitHub secrets:
| Name | Description |
|---|---|
| DOCKER_USERNAME | Docker registry username. In case of Azure Container Registry, provide Azure username or Service principal ID, see more on Azure Container Registry authentication with service principals. |
| DOCKER_PASSWORD | Docker registry password. In case of Azure Container Registry, provide Azure password or Service principal password. |
| DOCKER_REPOSITORY_PATH | Docker image repository. In case of Azure Container Registry, for image micronaut.azurecr.io/foo/bar:0.1, the foo is an image repository. |
| DOCKER_REGISTRY_URL | Docker registry url. In case of Azure Container Registry use the Container registry login path, e.g. for the image micronaut.azurecr.io/foo/bar:0.1, the micronaut.azurecr.io is a registry url. |
| AZURE_CREDENTIALS | Azure Service Principal, see more on Azure/aci-deploy#Azure Service Principal for RBAC. |
| AZURE_RESOURCE_GROUP | Azure Resource Group name, see more on Resource groups. |
The workflow file also contains additional configuration options that are now configured to:
| Name | Description | Default value |
|---|---|---|
| AZURE_LOCATION | Location where the Container Instance will be created. See Resource availability for Azure Container Instances in Azure regions to find out what regions are supported. | westeurope |
| AZURE_DNS_LABEL | The dns name label for container group with public IP. | Bank |
Call the rest api endpoint [AZURE_DNS_LABEL].[AZURE_LOCATION].azurecontainer.io:[PORT]/bank:
curl http://Bank.westeurope.westeurope.azurecontainer.io:8080/bank