Skip to main content

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

Project description

☁️ cloud_auto_deployor

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 git+https://github.com/<your-username>/cloud_auto_deployor.git@main

Make sure you have git, 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": "demo-deploy-group",
  "acr_name": "myacrdeploymentdemo",
  "image_name": "demo_project",
  "image_tag": "v1",
  "container_name": "demo-container",
  "location": "eastus"
}

🧪 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 demo-container --resource-group demo-deploy-group --yes

To remove the image from ACR:

az acr repository delete --name myacrdeploymentdemo --image demo_project:v1 --yes

👥 Author

Developed by \ Raja Periyasamy – Automation Lead | Azure DevOps Follower 📧 [cloudautodeployer@gmail.com](mailto:cloudautodeployer@gmail.com)]


🪪 License

MIT License

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.0.tar.gz (6.2 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.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cloud_auto_deployor-1.0.0.tar.gz
  • Upload date:
  • Size: 6.2 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.0.tar.gz
Algorithm Hash digest
SHA256 4b2ac65ce540238e0ac8540da2e7ba816efb4eb3c973d394daf7325302e50a6e
MD5 bb534ae54b4c29677fccbf7d32ddfb51
BLAKE2b-256 ccca3afeaacf5f033dde7b052aa684d8e8652b4b5b26b5fc59d0fd3533c1da07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cloud_auto_deployor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 661b7865022c46c9878068617719ef42d98d975f3049ab78e8395b999f53a9ea
MD5 6f1abad80f780ce5e7b34f2edc0b11e5
BLAKE2b-256 c12884b0ddc658f50f129b919f0061958636d851cbf4adfe1eed633f124a811d

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