Note
For Spring Boot applications, we recommend using Azure Spring Apps. See Java Workload Destination Guide for advice.
In this sample app template, the PetClinic application (a Spring Boot based app) is containerized and deployed to an Azure RedHat Openshift (ARO) cluster secured by Azure Firewall
-- Tech stack:
- Azure
- Azure PostgreSQL DB
- Azure Container Registry (ACR)
- Azure Red Hat Openshift (ARO) Cluster
- Azure Infra (Hub & Spoke Toppology)
- Azure Infra (VNet Peering)
- Azure User Defined Routing (UDR)
- Azure Fire Wall
- Azure Bastion
- Github Actions
- Bicep
- Docker
- Maven
- Springboot
This is a quickstart template. It deploys the following:
-
Deploying PetClinic App:
- Progres SQL Database configuration
- Provisioning Azure Infra Services with BICEP
- Create the spring-petclinic- build with Maven
- Create an Azure Container Registry
- Push your app to the container registry
- Create an Azure Redhat Openshift (ARO) Cluster
- Deploy the image to your ARO cluster
- Verify your container image
-
PetClinic on Automated CI/CD with GitHub Action
- CI/CD on GitHub Action
- CI/CD in action with the app
Refer to the App Templates repo Readme for more samples that are compatible with AzureAccelerators.
- Local shell with Azure CLI installed or Azure Cloud Shell
- Azure Subscription, on which you are able to create resources and assign permissions
- View your subscription using
az account show
- If you don't have an account, you can create one for free.
- View your subscription using
-
Fork the repository by clicking the 'Fork' button on the top right of the page. This creates a local copy of the repository for you to work in.
-
Configure GITHUB Actions: Follow the insturctions in the GITHUB_ACTIONS_CONFIG.md file (Located in the .github folder.)
-
Run the workflow
- If workflows are enabled for this repository it should run automatically. To enable the workflow run automatically, Go to Actions and enable the workflow if needed.
- Workflow can be manually run
- Under your repository name, click Actions .
- In the left sidebar, click the workflow "Build and Deploy Application".
- Above the list of workflow runs, select Run workflow .
- Use the Branch dropdown to select the workflow's main branch, Click Run workflow .
Congratulations! Now you have your containerized Java Sping Boot App deployed on AKS with supported JDK pushed to your ACR.
- If you wish to view the PetClinic Deployment, follow the steps listed below:
a. Got to GitHub Actions and clink on your latest Deployment
b. Scroll down to the section titled "Azure Powershell Cli - Get deployment IP Address"
c. Open the Section....you will see a table, that list the EXTERNAL-IP.
d. The EXTERNAL-IP will relfect the location of the Deployment.
e. You can utilze the EXTERNAL-IP to view the deployed image.