-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction.yml
80 lines (72 loc) · 2.6 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: 'Deploy a LAMP VM to Azure action'
description: 'This action helps create an Azure VM and deploy LAMP stack on it'
branding:
icon: 'play-circle'
color: 'blue'
inputs:
client-id:
description: 'Client id to login to azure'
required: true
tenant-id:
description: 'Tenant id to login to azure'
required: true
subscription-id:
description: 'Subscription id to be used with your az login'
required: true
resource-group-name:
description: 'Resource group to deploy your resources to'
required: true
admin-username:
description: 'Admin username to login to vm'
required: true
admin-password:
description: 'Admin password to login to vm'
required: true
runs:
using: 'composite'
steps:
- name: 'Checkout master'
uses: actions/checkout@v3
- name: az cli login
uses: azure/login@v1
with:
client-id: ${{ inputs.client-id }}
tenant-id: ${{ inputs.tenant-id }}
subscription-id: ${{ inputs.subscription-id }}
enable-AzPSSession: false
- name: 'Accept Bitnami marketplace terms'
shell: bash
run: |
az vm image terms accept --urn bitnami:lampstack:5-6:latest
- name: 'Az deploy - LAMP on VM Bitnami'
uses: azure/arm-deploy@v1
with:
subscriptionId: ${{ inputs.subscription-id }}
resourceGroupName: ${{ inputs.resource-group-name }}
template: https://raw.githubusercontent.com/vaibbavisk20/deploy_lamp_vm_azure/main/vm_template.json
parameters: https://raw.githubusercontent.com/vaibbavisk20/deploy_lamp_vm_azure/main/vm_parameters.json
adminUsername=${{ inputs.admin-username }}
adminPassword=${{ inputs.admin-password }}
failOnStdErr: false
- name: Fetch JSON file from remote repository
shell: bash
run: |
json_url="https://raw.githubusercontent.com/vaibbavisk20/deploy_lamp_vm_azure/main/vm_parameters.json"
curl -sSLO $json_url
- name: Print parameter value
shell: bash
run: |
json_file="vm_parameters.json"
# vm name
virtual_machine_name=".parameters.virtualMachineName.value"
result=$(jq -r "$virtual_machine_name" "$json_file")
echo "Virtual Machine Properties"
echo "Name: $result"
# region
location=".parameters.location.value"
result=$(jq -r "$location" "$json_file")
echo "Location: $result"
# vm size
virtual_machine_size=".parameters.virtualMachineSize.value"
result=$(jq -r "$virtual_machine_size" "$json_file")
echo "VM Size: $result"