diff --git a/vsts-fullbuild-redhat-vm/README.md b/vsts-fullbuild-redhat-vm/README.md index 0ed89d42356f..b26f1abbe6d0 100755 --- a/vsts-fullbuild-redhat-vm/README.md +++ b/vsts-fullbuild-redhat-vm/README.md @@ -1,13 +1,13 @@ # VM-Redhat - Team Services Build Agent and Cross-Platform SDKs installation - + - + -This template allows you to create an Red Hat VM with a full cross-platform development environment to support: +This template allows you to create multiple (1 or more) Red Hat VMs with a full cross-platform development environment to support: * OpenJDK 6, 7 and 8; * Ant, Maven and Gradle; * npm and nodeJS; @@ -15,7 +15,8 @@ This template allows you to create an Red Hat VM with a full cross-platform deve * Gnu C and C++ along with make; * Perl, Python, Ruby and Ruby on Rails; * .NET; -* go; and +* go; +* Docker Engine and Docker Compose; and * the VSTS CoreCLR Linux Build Agent. (Build Agent available here: https://github.com/Microsoft/vsts-agent). diff --git a/vsts-fullbuild-redhat-vm/azuredeploy.json b/vsts-fullbuild-redhat-vm/azuredeploy.json index ddc9de64a7ff..0ec70be3643d 100755 --- a/vsts-fullbuild-redhat-vm/azuredeploy.json +++ b/vsts-fullbuild-redhat-vm/azuredeploy.json @@ -215,7 +215,7 @@ "autoUpgradeMinorVersion": true, "settings": { "fileUris": [ - "https://raw.githubusercontent.com/paultbarham/azure-quickstart-templates/azuremerge/vsts-fullbuild-redhat-vm/scripts/full-rh-vstsbuild-install.sh" + "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/vsts-fullbuild-redhat-vm/scripts/full-rh-vstsbuild-install.sh" ], "commandToExecute": "[concat('sh full-rh-vstsbuild-install.sh', ' ', parameters('vstsAccountURL'), ' ', parameters('vstsPAT'), ' ', parameters('vstsPoolName'), ' ', concat(parameters('vstsAgentName'),copyIndex()), ' ', parameters('adminUserName'))]" } diff --git a/vsts-fullbuild-redhat-vm/scripts/full-rh-vstsbuild-install.sh b/vsts-fullbuild-redhat-vm/scripts/full-rh-vstsbuild-install.sh index f98331660b94..e1fa6323338b 100755 --- a/vsts-fullbuild-redhat-vm/scripts/full-rh-vstsbuild-install.sh +++ b/vsts-fullbuild-redhat-vm/scripts/full-rh-vstsbuild-install.sh @@ -93,13 +93,37 @@ ln -s /usr/local/git/bin/git /usr/bin/git /bin/date +%H:%M:%S >> /home/$5/install.progress.txt +# Install Docker Engine and Docker Compose +echo "Installing Docker Engine and Docker Compose" >> /home/$5/install.progress.txt +yum update -y >> /home/$5/install.out.txt 2>&1 + +echo [dockerrepo] > /etc/yum.repos.d/docker.repo +echo name=Docker Repository >> /etc/yum.repos.d/docker.repo +echo baseurl=https://yum.dockerproject.org/repo/main/centos/7/ >> /etc/yum.repos.d/docker.repo +echo enabled=1 >> /etc/yum.repos.d/docker.repo +echo gpgcheck=1 >> /etc/yum.repos.d/docker.repo +echo gpgkey=https://yum.dockerproject.org/gpg >> /etc/yum.repos.d/docker.repo + +yum install -y docker-engine >> /home/$5/install.out.txt 2>&1 +systemctl enable docker.service >> /home/$5/install.out.txt 2>&1 +systemctl start docker >> /home/$5/install.out.txt 2>&1 +systemctl enable docker >> /home/$5/install.out.txt 2>&1 +groupadd docker >> /home/$5/install.out.txt 2>&1 +usermod -aG docker $5 >> /home/$5/install.out.txt 2>&1 + +curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose +chmod +x /usr/local/bin/docker-compose >> /home/$5/install.out.txt 2>&1 + +/bin/date +%H:%M:%S >> /home/$5/install.progress.txt + + # Download VSTS build agent and required security patch echo "Downloading VSTS Build agent package" >> /home/$5/install.progress.txt cd /home/$5/downloads -wget https://github.com/Microsoft/vsts-agent/releases/download/v2.109.1/vsts-agent-rhel.7.2-x64-2.109.1.tar.gz >> /home/$5/install.out.txt 2>&1 +wget https://github.com/Microsoft/vsts-agent/releases/download/v2.109.2/vsts-agent-rhel.7.2-x64-2.109.2.tar.gz >> /home/$5/install.out.txt 2>&1 /bin/date +%H:%M:%S >> /home/$5/install.progress.txt diff --git a/vsts-fullbuild-ubuntu-vm/README.md b/vsts-fullbuild-ubuntu-vm/README.md index 38be7d554159..1ba182202690 100755 --- a/vsts-fullbuild-ubuntu-vm/README.md +++ b/vsts-fullbuild-ubuntu-vm/README.md @@ -14,8 +14,9 @@ This template allows you to create an Ubuntu VM with a full cross-platform devel * groovy and gulp; * Gnu C and C++ along with make; * Perl, Python, Ruby and Ruby on Rails; -* .NET; -* go; and +* latest .NET Core; +* go; +* Docker Engine and Compose; and * the VSTS CoreCLR Linux Build Agent. (Build Agent available here: https://github.com/Microsoft/vsts-agent). diff --git a/vsts-fullbuild-ubuntu-vm/scripts/full-vstsbuild-install.sh b/vsts-fullbuild-ubuntu-vm/scripts/full-vstsbuild-install.sh index 2ddfc3c5f8d7..d8dd38c501b4 100755 --- a/vsts-fullbuild-ubuntu-vm/scripts/full-vstsbuild-install.sh +++ b/vsts-fullbuild-ubuntu-vm/scripts/full-vstsbuild-install.sh @@ -104,15 +104,33 @@ sudo /bin/date +%H:%M:%S >> /home/$5/install.progress.txt sudo -u $5 mkdir /home/$5/downloads sudo -u $5 mkdir /home/$5/lib -# Install .NET +# Install latest release of .NET Core echo "Installing .NET" >> /home/$5/install.progress.txt sudo -u $5 mkdir /home/$5/lib/dotnet cd /home/$5/downloads -sudo -u $5 wget https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/1.0.0-preview2-002875/dotnet-dev-ubuntu-x64.1.0.0-preview2-002875.tar.gz +sudo -u $5 wget https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-ubuntu.16.04-x64.latest.tar.gz cd /home/$5/lib/dotnet -sudo -u $5 tar zxfv /home/$5/downloads/dotnet-dev-ubuntu-x64.1.0.0-preview2-002875.tar.gz +sudo -u $5 tar zxfv /home/$5/downloads/dotnet-ubuntu.16.04-x64.latest.tar.gz sudo /bin/date +%H:%M:%S >> /home/$5/install.progress.txt +# Install Docker Engine and Compose +echo "Installing Docker Engine and Compose" >> /home/$5/install.progress.txt +sudo apt-get update +sudo apt-get install -y apt-transport-https ca-certificates +sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D +echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list +sudo apt-get update +sudo apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual +sudo apt-get install -y docker-engine +sudo service docker start +sudo systemctl enable docker +sudo groupadd docker +sudo usermod -aG docker $5 + +sudo curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose +sudo chmod +x /usr/local/bin/docker-compose + +sudo /bin/date +%H:%M:%S >> /home/$5/install.progress.txt # Install VSTS build agent dependencies @@ -127,8 +145,7 @@ echo "Downloading VSTS Build agent package" >> /home/$5/install.progress.txt cd /home/$5/downloads -# sudo -u $5 wget https://github.com/Microsoft/vsts-agent/releases/download/v2.101.1/vsts-agent-ubuntu.14.04-x64-2.101.1.tar.gz -sudo -u $5 wget https://github.com/Microsoft/vsts-agent/releases/download/v2.104.2/vsts-agent-ubuntu.14.04-x64-2.104.2.tar.gz +sudo -u $5 wget https://github.com/Microsoft/vsts-agent/releases/download/v2.109.2/vsts-agent-ubuntu.14.04-x64-2.109.2.tar.gz sudo -u $5 wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu52_52.1-8ubuntu0.2_amd64.deb sudo dpkg -i libicu52_52.1-8ubuntu0.2_amd64.deb @@ -176,7 +193,7 @@ echo User: $5 >> /home/$5/vsts.install.log.txt 2>&1 echo =============================== >> /home/$5/vsts.install.log.txt 2>&1 echo Running Agent.Listener >> /home/$5/vsts.install.log.txt 2>&1 -sudo -u $5 -E bin/Agent.Listener --configure --unattended --nostart --replace --acceptteeeula --url $1 --auth PAT --token $2 --pool $3 --agent $4 >> /home/$5/vsts.install.log.txt 2>&1 +sudo -u $5 -E bin/Agent.Listener configure --unattended --nostart --replace --acceptteeeula --url $1 --auth PAT --token $2 --pool $3 --agent $4 >> /home/$5/vsts.install.log.txt 2>&1 echo =============================== >> /home/$5/vsts.install.log.txt 2>&1 echo Running ./svc.sh install >> /home/$5/vsts.install.log.txt 2>&1 sudo -E ./svc.sh install $5 >> /home/$5/vsts.install.log.txt 2>&1