Releases: microsoft/MLOpsPython
Releases · microsoft/MLOpsPython
MLOps with Azure ML
81170 Updated spelling in code_description.md (#59)
MLOps with Azure ML
Merge pull request #54 from microsoft/sudivate/scoringimage Sudivate/scoringimage
New version 2.0.0
Code refactoring
- Concise and clean folders structure aligning with the "bring-my-own-code" concept
- Simple and clean Python code
- Update to the latest AzureML SDK
Linting and Unit testing
- PR and CI pipelines perform linting (with flake8) and unit testing of Python code
- PR and CI pipelines perform data integrity tests
Parameterization - via @tarockey
- AzDo pipelines and Python code are based on a set of variables defined in a Variable Group in an AzDo Project. * For local development the variables are grouped in .env.example file
Environment Setup
- Infrastructure as Code (IaC) pipelines to create (iac-create-environment.yml) and remove (iac-remove-environment.yml) all required resources for the repo (e.g. resource group, ML workspace, container registry, etc.)
Pipeline agent as a Docker container
- AzDo build pipelines are configured to run tasks in a Docker container having installed Python and all required dependencies
- The Docker Image is publicly available https://hub.docker.com/_/microsoft-mlops-python
- There is an AzDo pipeline (docker-image-pieline.yml) building and pushing the docker image
AzDo Build Pipelines
- Separate pipelines for PR and CI events
- PR pipeline (azdo-pr-build-train.yml) is triggered when a Pull Request to master is created. Performs linting, data and unit testing only.
- CI pipeline (azdo-ci-build-train.yml) is triggered when the code is merged to master. Performs linting, data testing, unit testing, building and publishing an ML pipeline.
- PR and CI pipelines use a pipeline template (azdo-base-pipeline.yml) handling common tasks such as linting and testing
Model Deployment with AML Deploy Model task
- The release pipeline deploying a model to ACI and AKS environments leverages AML Model Deploy Task
Rewritten documentation
- Readme
- Getting Started
- Code Description
First versioned release
This is all of the work which was done to this repository since its inception. 2.0.0 is coming soon which has significant changes, so there was a need to have a "1.0.0" release despite the reality is the code is more than a .0.0 release. Moving forward, we will use semver standards for changes to the repository.