{"id":29093112,"url":"https://github.com/harmonyoma/azure-vm-deployment","last_synced_at":"2026-04-30T03:34:38.811Z","repository":{"id":301647647,"uuid":"1009917459","full_name":"HARMONYOMA/azure-vm-deployment","owner":"HARMONYOMA","description":"🚀 This project demonstrates how to deploy a Virtual Machine on Azure using Azure CLI and automate the process with a Bash script. It covers resource group creation, VM setup, opening network ports, fetching the public IP, and connecting via SSH. A resource cleanup option is included to help manage cloud costs. Ideal for beginners.","archived":false,"fork":false,"pushed_at":"2025-06-28T00:41:59.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-28T01:25:10.315Z","etag":null,"topics":["azure-cli","bash","beginner-friendly-project","cloud-automation","cloud-computing","devops","shell-script","virtual-machine","vm-deployment"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HARMONYOMA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-28T00:41:21.000Z","updated_at":"2025-06-28T00:53:14.000Z","dependencies_parsed_at":"2025-06-28T01:25:12.213Z","dependency_job_id":"2074f3c9-6600-4522-a3da-debaf332c28d","html_url":"https://github.com/HARMONYOMA/azure-vm-deployment","commit_stats":null,"previous_names":["harmonyoma/azure-vm-deployment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HARMONYOMA/azure-vm-deployment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARMONYOMA%2Fazure-vm-deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARMONYOMA%2Fazure-vm-deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARMONYOMA%2Fazure-vm-deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARMONYOMA%2Fazure-vm-deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HARMONYOMA","download_url":"https://codeload.github.com/HARMONYOMA/azure-vm-deployment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARMONYOMA%2Fazure-vm-deployment/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262396498,"owners_count":23304445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-cli","bash","beginner-friendly-project","cloud-automation","cloud-computing","devops","shell-script","virtual-machine","vm-deployment"],"created_at":"2025-06-28T08:05:59.490Z","updated_at":"2026-04-30T03:34:33.781Z","avatar_url":"https://github.com/HARMONYOMA.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Azure Virtual Machine Deployment with Bash Automation\n\n## Project Overview\nThis project demonstrates how to create and deploy a Virtual Machine (VM) on Microsoft Azure using Azure CLI.  \nI also automated the entire process using a Bash script to make the deployment faster and more efficient.\n\nThe script:\n- Logs into Azure\n- Creates a Resource Group\n- Deploys a Virtual Machine\n- Opens port 80 to allow web traffic\n- Retrieves the public IP address of the VM\n- Provides an option to automatically clean up resources to avoid extra costs\n\n---\n\n## Table of Contents\n- [Project Overview](#project-overview)\n- [Technologies Used](#technologies-used)\n- [Prerequisites](#prerequisites)\n- [Folder Structure](#folder-structure)\n- [How to Use the Bash Script](#how-to-use-the-bash-script)\n- [Manual Deployment Steps](#manual-deployment-steps)\n- [Learnings](#learnings)\n- [Resources](#resources)\n- [image](#image)\n\n---\n\n## Technologies Used\n- Azure CLI\n- Ubuntu 22.04 LTS Virtual Machine\n- Bash scripting\n\n---\n\n## Prerequisites\n- Azure CLI installed on your machine\n- An active Azure subscription\n- Basic terminal/command line knowledge\n- SSH key setup (Azure CLI can auto-generate this)\n\n---\n\n## Folder Structure\n```bash\nazure-vm-deployment/\n├── image/                 # Screenshot of successful deployment\n├── README.md              #Project documentation\n└── vm-deployment.sh       #Bash automation script\n```\n\n---\n\n## Manual-deployment-steps\nIf you want to manually deploy the VM instead of using the Bash script, follow these steps:\n### 1. Log into Azure using:\n```bash\naz login\n\n### 2. Create a Virtual Machine using Azure CLI.\n```bash\naz vm create \\\n  --resource-group \u003cyour-resource-group\u003e \\\n  --name \u003cyour-vm-name\u003e \\\n  --image Ubuntu2204 \\\n  --admin-username azureuser \\\n  --generate-ssh-keys\n\n### 3. Open port 80 to allow web traffic:\n```bash\naz vm open-port --port 80 --resource-group \u003cyour-resource-group\u003e --name \u003cyour-vm-name\u003e\n\n### 4. Retrieve the public IP address of the VM:\n```bash\naz vm list-ip-addresses --name \u003cyour-vm-name\u003e --resource-group \u003cyour-resource-group\u003e\n\n### 5. Connect to the VM via SSH:\n```bash\nssh azureuser@\u003cyour-public-ip\u003e\n```\n---\n\n## How to Use the Bash Script\n### 1. Make the Script Executable\nIn your terminal, navigate to the project folder and run:\n```bash\nchmod +x vm-deployment.sh\n\n### 2. Execute the script with\n```bash\n./vm-deployment.sh\n\n### 3. After the script finishes, it will display the SSH command.\nUse it to connect to your VM:\n```bash\n azureuser@\u003cyour-public-ip\u003e\n```\n---\n\n## Learnings\n- How to deploy and manage Azure cloud resources using CLI.\n- How to automate virtual machine deployment with Bash.\n- How to securely connect to virtual machines using SSH.\n- The importance of cleaning up resources to prevent unnecessary cloud costs.\n\n---\n\n## Resources\n- Azure CLI Documentation\n- Azure VM Quickstart Guide\n- HARMONYOMA/azure-vm-deployment.\n\n---\n\n## Image\n- Screenshot of successful deployment","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmonyoma%2Fazure-vm-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharmonyoma%2Fazure-vm-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmonyoma%2Fazure-vm-deployment/lists"}