Skip to main content

☁️ 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.6 -- enable acr access

  • 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

Metadata

Release files for cloud-auto-deployor 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cloud-auto-deployor 1.0.6
File Size Uploaded
cloud_auto_deployor-1.0.6.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cloud-auto-deployor 1.0.6
File Interpreter ABI Platform
cloud_auto_deployor-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 13.9 kB

Release files / cloud_auto_deployor-1.0.6.tar.gz

Download URL cloud_auto_deployor-1.0.6.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f56fd4976b8025d5236971dfce2ffa582e09746c585c0789f4a06b26b886cf6e
BLAKE2b-256 checksum
How to use checksums
8471751f7600c26f176d8d868746cc04bedd81c3c5b57b1c4ff2c9579726f580
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.1

Release files / cloud_auto_deployor-1.0.6-py3-none-any.whl

Download URL cloud_auto_deployor-1.0.6-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5629d3a375a95e49c249ea80ce0f89ec469d11ba4978642c83145d063b3bd614
BLAKE2b-256 checksum
How to use checksums
25c7b33d26025f27dff828640d4ec3f537332d255f7d50eb0da58858b7ec19a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.1

Release history Release notifications | RSS feed

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page