diff --git a/images/linux/scripts/installers/aliyun-cli.sh b/images/linux/scripts/installers/aliyun-cli.sh new file mode 100644 index 000000000..e3e1ec14c --- /dev/null +++ b/images/linux/scripts/installers/aliyun-cli.sh @@ -0,0 +1,27 @@ +#!/bin/bash +################################################################################ +## File: aliyun-cli.sh +## Desc: Installs Alibaba Cloud CLI +################################################################################ + +# Source the helpers for use with the script +source $HELPER_SCRIPTS/document.sh +source $HELPER_SCRIPTS/apt.sh + +# Install Alibaba Cloud CLI +URL=$(curl -s https://api.github.com/repos/aliyun/aliyun-cli/releases/latest | jq -r '.assets[].browser_download_url | select(contains("aliyun-cli-linux"))') +wget -P /tmp $URL +tar xzvf /tmp/aliyun-cli-linux-*-amd64.tgz +mv aliyun /usr/local/bin + +# Run tests to determine that the software installed as expected +echo "Testing to make sure that script performed as expected, and basic scenarios work" +if ! command -v aliyun ; then + echo "aliyun was not installed" + exit 1 +fi + +# Document what was added to the image +aliyun_version="$(aliyun --version | grep "Alibaba Cloud Command Line Interface Version" | cut -d " " -f 7)" +echo "Lastly, documenting what we added to the metadata file" +DocumentInstalledItem "Alibaba Cloud CLI ($aliyun_version)" \ No newline at end of file diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 4d4138d8c..bf47f0c4c 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -171,6 +171,7 @@ "{{template_dir}}/scripts/installers/azure-cli.sh", "{{template_dir}}/scripts/installers/azure-devops-cli.sh", "{{template_dir}}/scripts/installers/1604/basic.sh", + "{{template_dir}}/scripts/installers/aliyun-cli.sh", "{{template_dir}}/scripts/installers/aws.sh", "{{template_dir}}/scripts/installers/build-essential.sh", "{{template_dir}}/scripts/installers/nvm.sh", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 444077348..d2129a208 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -174,6 +174,7 @@ "{{template_dir}}/scripts/installers/azure-cli.sh", "{{template_dir}}/scripts/installers/azure-devops-cli.sh", "{{template_dir}}/scripts/installers/1804/basic.sh", + "{{template_dir}}/scripts/installers/aliyun-cli.sh", "{{template_dir}}/scripts/installers/aws.sh", "{{template_dir}}/scripts/installers/build-essential.sh", "{{template_dir}}/scripts/installers/clang.sh", diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 805892e62..97a06702f 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -299,6 +299,12 @@ "{{ template_dir }}/scripts/Installers/Install-Bazel.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-AliyunCli.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -731,6 +737,12 @@ "{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1" + ] + }, { "type": "powershell", "scripts":[ diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 69b42f8d7..e66147fca 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -578,6 +578,12 @@ "{{ template_dir }}/scripts/Installers/Install-Bazel.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-AliyunCli.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -862,6 +868,12 @@ "{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1" + ] + }, { "type": "file", "source": "C:\\InstalledSoftware.md", diff --git a/images/win/scripts/Installers/Install-AliyunCli.ps1 b/images/win/scripts/Installers/Install-AliyunCli.ps1 new file mode 100644 index 000000000..95b462b61 --- /dev/null +++ b/images/win/scripts/Installers/Install-AliyunCli.ps1 @@ -0,0 +1,6 @@ +################################################################################ +## File: Install-AliyunCli.ps1 +## Desc: Install Alibaba Cloud CLI +################################################################################ + +choco install aliyun-cli -y \ No newline at end of file diff --git a/images/win/scripts/Installers/Validate-AliyunCli.ps1 b/images/win/scripts/Installers/Validate-AliyunCli.ps1 new file mode 100644 index 000000000..2f72deca8 --- /dev/null +++ b/images/win/scripts/Installers/Validate-AliyunCli.ps1 @@ -0,0 +1,24 @@ +################################################################################ +## File: Validate-AliyunCli.ps1 +## Desc: Validate Alibaba Cloud CLI +################################################################################ + +if (Get-Command -Name 'aliyun') +{ + Write-Host "Alibaba Cloud CLI on path" +} +else +{ + Write-Host 'Alibaba Cloud CLI is not on path' + exit 1 +} + +# Adding description of the software to Markdown +$aliyun_version = ((aliyun --version | Select-String "Alibaba Cloud Command Line Interface Version ") -Split(" "))[6] + +$SoftwareName = "Alibaba Cloud CLI" +$Description = @" +_Version:_ $aliyun_version
+"@ + +Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description \ No newline at end of file