Skip to content
azure

GitHub Action

Deploy LAMP stack on Azure Virtual Machine

v2 Latest version

Deploy LAMP stack on Azure Virtual Machine

azure

Deploy LAMP stack on Azure Virtual Machine

This action helps create an Azure Virtual Machine and deploy LAMP stack on it

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Deploy LAMP stack on Azure Virtual Machine

uses: Azure/LAMPStack-Azure-VirtualMachine@v2

Learn more about this action in Azure/LAMPStack-Azure-VirtualMachine

Choose a version

Deploy LAMP stack to Azure Virtual Machine

Description

This GitHub Action automates the deployment of a LAMP (Linux, Apache, MySQL, PHP) stack on an Azure Virtual Machine (VM). The action provisions the VM and deploys the LAMP stack using an ARM template and parameter file.

Note: Please install the Configure-Azure-Settings app from the GitHub Marketplace to populate the below inputs as secrets in your repository

Inputs

  • client-id (required): Client ID used for Azure login.
  • tenant-id (required): Tenant ID used for Azure login.
  • subscription-id (required): Azure subscription ID used with the az login.
  • resource-group-name (required): Resource group where Azure resources will be deployed.

Set these values as secrets on your repo where the workflow runs:

  • admin-username (required): Admin username to login to the VM.

    Username must only contain letters, numbers, hyphens, and underscores and may not start with a hyphen or number. Usernames must not include reserved words. The value is in between 1 and 64 characters long.

  • admin-password (required): Admin password to login to the VM.

    Password must have 3 of the following: 1 lower case character, 1 upper case character, 1 number, and 1 special character. The value must be between 12 and 72 characters long.

Usage

Create this workflow in your repo on this path: .github/workflows/workflow_file.yml

name: workflow to deploy lamp stack on azure

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  workflow_dispatch:

permissions:
  id-token: write
  contents: read

jobs:
  deploy-resources-to-azure:
    runs-on: ubuntu-latest
    steps:
        - name: Checkout master
          uses: actions/checkout@v3
          
        - name: Deploy a LAMP VM to Azure action
          uses: Azure/LAMPStack-Azure-VirtualMachine@v2
          with:
            client-id: ${{ secrets.AZURE_CLIENT_ID }}
            tenant-id: ${{ secrets.AZURE_TENANT_ID }}
            subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
            resource-group-name: ${{secrets.AZURE_RG}}
            admin-username: ${{secrets.ADMIN_USERNAME}}
            admin-password: ${{secrets.ADMIN_PASSWORD}}

Output

The action creates a VM which can be viewed on portal.azure.com and provides information about the deployed VM, including the VM name, location, and VM size.