In Azure you can create build server on an Virtual Machine, hosted at your own domain, secured with an SSL certificate.
There is a little networking to setup, and it can all be done in the Azure Portal.
You are going to create a new VM, install the bare essentials, configure your SSL certificate, and then setup networking. Then you will be ready to install AppVeyor Enterprise software.
These instructions assume you want to host your CI server at your own custom domain: https://ci.mycompany.com
. Of course, you can customize these instructions for your own preferences.
In the Azure Portal:
Fill out the form:
<YourAzureRegion>
The new VM machine will be created, along with a bunch of other networking resources, all contained in the resource group you named above.
By default, when you create your VM, it will assigned a dynamic Public IP address.
This is helpful for getting started quickly, but if you ever shut down your CI server VM, the chances are it will start up with a different public IP address each time, forcing you to change your DNS records for your custom domain (coming later).
Next, we are going to associate a static IP address to your CI server so that you have a fixed IP address to bind your custom domain to.
In the Azure Portal
Edit the ‘Public IP Address’ resource created for the VM above, found in the same resource group as your VM. (should be called ‘ci-yourcompany-ip’ in this example)
This will assign you a new static IP address. Make a note of it e.g. 51.255.53.185
(yours will be different)
Now that you have a running VM, and public IP address for it, you can setup SSL for your CI Server.
In the Azure Portal
Once logged in, open command prompt and run the following commands:
dism /Online /Enable-Feature /FeatureName:IIS-WebServer /FeatureName:IIS-WebServerManagementTools /FeatureName:IIS-WebServerRole /FeatureName:IIS-ManagementConsole /FeatureName:IIS-ApplicationDevelopment /FeatureName:IIS-ASPNET /FeatureName:IIS-ASPNET45 /FeatureName:IIS-NetFxExtensibility /FeatureName:IIS-NetFxExtensibility45 /FeatureName:NetFx4Extended-ASPNET45 /FeatureName:IIS-CommonHttpFeatures /FeatureName:IIS-DefaultDocument /FeatureName:IIS-HealthAndDiagnostics /FeatureName:IIS-HttpLogging /FeatureName:IIS-LoggingLibraries /FeatureName:IIS-RequestMonitor /FeatureName:IIS-HttpCompressionStatic /FeatureName:IIS-HttpErrors /FeatureName:IIS-StaticContent /FeatureName:IIS-ISAPIExtensions /FeatureName:IIS-ISAPIFilter /FeatureName:IIS-WebSockets /FeatureName:IIS-RequestFiltering /FeatureName:IIS-Performance /FeatureName:IIS-Security /All
dism /Online /Enable-Feature /FeatureName:IIS-ASPNET45 /All
You now need open the ports 80 and 443 in the network of your VM.
In the Azure Portal
Edit the ‘Network security group’ resource that was created for the VM above, found in the same resource group as your VM. (should be called ‘ci-yourcompany-nsg’ in this example)
You should see the TCP/3389 is already configured for RDP access to your VM.
Add a new rule:
Add another rule:
Now, you can point your browser to, the public IP of your VM, from before: http://<yourstaticipaddress>
and see the familiar start page of IIS Server on your CI Server!
Your Azure VM and network are now all set to install AppVeyor Enterprise.