Skip to main content

A Python CLI library for automated cloud deployment to Azure (ACI + ACR)

Project description

☁️ cloud_auto_deployor

PyPI version

cloud_auto_deployor is a Python package that simplifies end-to-end deployment of test automation projects to Azure using Docker and Azure Container Instances (ACI).
Ideal for local developers, QA teams, and CI/CD use cases.


Features

  • Auto-builds Docker image from your automation project
  • Pushes the image to Azure Container Registry (ACR)
  • Deploys the container to Azure Container Instance (ACI)
  • Automatically runs your test suite (e.g. Pytest) in the container
  • No manual Azure Portal steps required

Installation

pip install cloud-auto-deployor

Make sure you have Docker and Azure CLI installed and logged in (az login).


Setup

Your test automation project should include:

demo_project/
├── Dockerfile
├── requirements.txt
├── tests/
│   └── test_example.py
├── run_tests.py           # Triggers pytest
└── config.json            # Azure details (see below)

Example config.json

{
  "resource_group": "<your_resource_group>",
  "acr_name": "<your_acr_name>",
  "image_name": "<your_image_name>",
  "image_tag": "v1",
  "container_name": "<your_container_name>",
  "location": "<your_region>"
}

Usage

From your test project root (where config.json lives), run:

python -m cloud_auto_deployor.main

What happens:

  1. Reads config.json
  2. Builds Docker image using your Dockerfile
  3. Pushes to ACR (auto-creates if needed)
  4. Deploys container instance (ACI)
  5. Automatically triggers run_tests.py to run your tests
  6. ✅ Results appear in Azure Portal Logs

Sample run_tests.py

import pytest
import os
import sys

def run_tests():
    sys.path.insert(0, os.getcwd())
    exit_code = pytest.main(["-vv", "tests/"])
    return exit_code

if __name__ == "__main__":
    run_tests()

Uninstall / Clean Up

To remove the container:

az container delete \
  --name <your_container_name> \
  --resource-group <your_resource_group> \
  --yes

To remove the image from ACR:

az acr repository delete \
  --name <your_acr_name> \
  --image <your_image_name>:<your_image_tag> \
  --yes

Delete Entire Resource Group

az group delete --name <your_resource_group> --yes --no-wait

Explanation:
**•	--name: Name of your resource group (e.g., demo-deploy-group)
•	--yes: Auto-confirms the deletion prompt
•	--no-wait: Returns immediately without waiting for the deletion to complete (optional)**

Author

Developed by Raja Periyasamy – Automation Lead | Azure DevOps Follower
📧 cloudautodeployer@gmail.com


License

MIT License


Release Notes

v1.0.5

  • Initial open-source release
  • Supports end-to-end Docker → ACR → ACI automation
  • Auto-triggers test execution from run_tests.py
  • Removed tracked config.json, now properly gitignored
  • Minor cleanup and security best practices applied
  • read me file changes
  • Azure resources delete expression syntax updated

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloud_auto_deployor-1.0.5.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cloud_auto_deployor-1.0.5-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file cloud_auto_deployor-1.0.5.tar.gz.

File metadata

  • Download URL: cloud_auto_deployor-1.0.5.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.1

File hashes

Hashes for cloud_auto_deployor-1.0.5.tar.gz
Algorithm Hash digest
SHA256 d00efb2f97742ee6bf7b9172bc8e703b6d08e327aad1aa041a766a7e581015fb
MD5 71ba2def6020f537d9e36f368e26457e
BLAKE2b-256 20a904f9624d48453902fa88fa6bea8f6d5dfa777f88e1a1c130e194c877d9fe

See more details on using hashes here.

File details

Details for the file cloud_auto_deployor-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for cloud_auto_deployor-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 db6ec6187d67585ad150267b344bd8353d503a66d1c9b621ec628cbd834ef56d
MD5 5ce5a8097976d8e23475fc3974d2e4b6
BLAKE2b-256 6db91e46a2d8673d5ce2fd38bcabbb3ce9a6b88f938aaad4946e3e7288621e91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page