This project titled 'Building a CI/CD Pipeline' project is part of the 'DevOps Engineer for Microsoft Azure' Udacity nanodegree program.
The objective of this project is to :
A. Create an Azure pipeline.
B. Deploy the python app (provided in the project resource) in Azure cloud.
C. Test and validate that the pipeline deploys the code changes.
The following steps will implement the task of building a CI/CD pipeline: Note: The goal of the python application in this project is to predict housing prices in Boston.
- Create a github repository and upload the starter code to it.
- Create a workflow using Github Actions and deploy the app in Azure cloud.
- Create a CI/CD pipeline in Azure DevOps and deploy the app using Azure pipeline in Azure App service.
- Run Flask app and validate the results (prediction).
- Perform load test using locust and note the results.
- Make sure Code changes committed to the GitHub repo would trigger automated code deployment.
Project Timeline Trello board - https://trello.com/b/1cuoVD4k/azcicd
Project Timeline Spreadheet - https://github.com/robertnick04/flask-ml-az-serverless/blob/main/AzureCICD_Project_Timeline.xlsx
Project Demo Video - https://www.youtube.com/watch?v=jvwVc1S0qDo&t=23s
This project could be enhanced by including the following items:
- PROD and NON-PROD environments such as Dev, test/stage could be implemented.
- A policy could be implemented to require Pull requests are reviewed and approved before merging the code to the main branch