Machine Learning Predict at Cloud. This project uses MS Azure PaaS and it´s a DevOps compliance project.
This project is designed to be deployed at MS Azure App Services, using DevOps CI/CD pipelines
- A link to a Trello board for the project ML WebApp Project Board
- A link to Project Plan spreadsheet: ML WebApp Project Plan
- Clone this repository
- Create your infrastructure as code
- Update this azure_pipelines.yml to reflect your Azure environment.
- Create an Azure Account
- Install the Azure command line interface
- Create an Azure DevOps account
- Install Azure Cloud Shell
PRE-REQ: Make sure you are logged at your Azure via Azure CLI command:
az login
- Clone this Github repository locally:
git clone https://github.com/Pet-slack/udacity-cicd-demo.git
cd udacity-cicd-demo
- Create your Python virtual environment
- Create a Python3.x virtualenv
python3 -m venv ~/.v-python
- Activate your virtualenv
source ~/.v-python/bin/activate
- Run your project locally
- Set it up:
make all
- Run the program:
python app.py
- Test the program running a ML prediction:
sh ./make_prediction.sh
- Check Github Actions CI status
- Initial project App Service setup/deploy:
az webapp up --name <APP_NAME> --sku F1 --location <LOCATION> --resource-group <RESOURCE_GROUP>
- Setup and deploy CI/CD 💪
- Log in at Azure DevOps and setup a new project using this Github Repo as source
- Create a Project: New Project >> Go to Pipelines: Create Pipeline >> Select Project Repository >> Save
- Set up a new automatic Service Connection called myUdacitySP_Conn in Project Settings >> Service Connections >> Azure Resource Manager
- Deploy the DevOps project to Azure App Service running the CI/CD pipeline
✔️ Run Pipeline: Go to Project >> Pipelines >> Pipelines >> Click on Pet-slack.udacity-cicd-demo >> Click on Run pipeline
- Check the CI/CD deployment 💙
- Test Azure App Service deployment:
udacity@Azure:~$ ./make_predict_azure_app.sh
Port: 443
{"prediction":[20.35373177134412]}- Output of streamed log files from deployed application
az webapp log tail --name <APP_NAME> --resource-group <RESOURCE_GROUP>Run the following commands to fully deploy this project at MS Azure.
curl -s https://raw.githubusercontent.com/Pet-slack/udacity-cicd-demo/master/scripts/full-deploy-commands.sh | bash -s -- start
curl -s https://raw.githubusercontent.com/Pet-slack/udacity-cicd-demo/master/scripts/full-deploy-commands.sh | bash -s -- deployRun the following command to delete the Azure App Service.
curl -s https://raw.githubusercontent.com/Pet-slack/udacity-cicd-demo/master/scripts/full-deploy-commands.sh | bash -s -- deleteLocust load testing output for Azure App Service
Locust Test based on scripts/locustfile.py
- Add multiple stages:
- Deploy CD DEV stage. In progress at ml-dev branch
- Deploy CD Github Actions option. Pending









