Skip to content

Instantly share code, notes, and snippets.

@mikamboo
Last active August 3, 2020 16:44
Show Gist options
  • Select an option

  • Save mikamboo/5802dfaa73cad4816b72cdafe9c63125 to your computer and use it in GitHub Desktop.

Select an option

Save mikamboo/5802dfaa73cad4816b72cdafe9c63125 to your computer and use it in GitHub Desktop.
Azure CLI : Create VM

Pre-requites

  • Get and enter in az-cli
docker run -it --name azure-cli -v $HOME/.azure/:/root/.azure mcr.microsoft.com/azure-cli

az --version
  • Login to az account
az login

Create RG + VM ...

  • vars
export VM=maVM
export RG=myResourceGroup
export REGION=westeurope

  • Resource Group
az group create --name $RG --location $REGION
  • Virtual machine
az vm create --resource-group $RG \
    --name $VM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys \
    #--custom-data cloud-init-jenkins.txt
  • Open ports
az vm open-port --resource-group $RG --name $VM --port 8080 --priority 1001
az vm open-port --resource-group $RG --name $VM --port 3000 --priority 1002
  • IP Adress
$IP=$(az vm show --resource-group $RG --name $VM -d --query [publicIps] --output tsv)
  • SSH
ssh azureuser@$IP
  • Cleanup : delete resource group
az group delete --name $RG --yes
#cloud-config
package_upgrade: true
write_files:
- path: /etc/systemd/system/docker.service.d/docker.conf
content: |
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
- path: /etc/docker/daemon.json
content: |
{
"hosts": ["fd://","tcp://127.0.0.1:2375"]
}
runcmd:
- apt install openjdk-8-jre-headless -y
- wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
- sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
- apt-get update && apt-get install jenkins -y
- curl -sSL https://get.docker.com/ | sh
- usermod -aG docker azureuser
- usermod -aG docker jenkins
- service jenkins restart
@mikamboo
Copy link
Copy Markdown
Author

mikamboo commented Aug 3, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment