How to Setup Jenkins on Windows in Azure

Start using Jenkins in Azure

 

To start using the Jenkins server deployment in Azure after deploying the image from the marketplace, click on the Jenkins desktop icon to launch the application:

setup-jenkins-on-azure

 

The login credentials you will find on a text file on the desktop also called (Login Credentials)

 

Jenkins-login-page

 

Jenkins Amin URL

 

By default, your Jenkins runs at http://localhost:8080/. This can be changed by editing jenkins.xml, which is located in the installation directory (C:\Program Files (x86)\Jenkins). This file is also the place to change other boot configuration parameters, such as JVM options, HTTPS setup, etc.

 

There are a few ways to access the Jenkins login page, either locally on the server by accessing http://localhost:8080

 

Or by the servers internal DNS host name on your internal network: http://dnshostname:8080

 

Or by using the public Azure DNS public IP/DNS Name. For example: jenkserver01.westus.cloudapp.azure.com

 

To configure the public DNS host name, you do this within the Azure portal, under the VMs properties. You will need to give the VM a public IP address and can give a DNS hostname:

jenkins-public-url-azure

 

 

Starting / Stopping the Jenkins Windows Service


Jenkins is installed as a Windows service, and it is configured to start automatically upon boot. To start/stop them manually, use the services manager from administrative tools, or the sc command line tool.

 

Configuring the pre loaded plugins

 

To configure or view documentation on using the plugins, within Jenkins go to ‘Manage Jenkins / Manage Plugins / Installed

 

The Jenkins installation comes with a number of plugins specifically for an Azure environment aswell as the default plugins:

 

Azure Credentials (Manage Azure credentials using Jenkins Credentials API)
Azure Commons (Common APIs for Azure related Jenkins plugins)
Azure Artifact Manager (Jenkins Azure artifact manager plugin)
Azure Commons (Common APIs for Azure related Jenkins plugins)
Azure AD (A Jenkins authentication & authorization plugin for Azure Active Directory)
Azure Service Fabric (Plugin for deploying Azure Service Fabric applications)
Azure Key Vault (Build wrapper for retrieving secrets from Azure Key Vault)
Azure CLI (Use Azure CLI for managing Azure resources)
Azure VM Agents (Azure plugin to provision and deprovision agents)
Azure App Service (A Jenkins plugin to deploys apps to Azure App Service)
Azure Function (A Jenkins plugin to deploy Azure Function)
Azure Virtual Machine Scale Set ( A Jenkins plugin to deploy to Azure Virtual Machine Scale Set)
Azure Container Service (Deploy Kubernetes, DC/OS, Docker Swarm application configurations to Azure Container Service cluster)
Azure Container Agents (A Jenkins plugin to provisions agents on Azure Container Service and Azure Container Instances)
Azure Batch Parallel Test Execution ( Execute tests in parallel with Microsoft Azure Batch service)
Azure Container Registry Tasks ( Queue an Azure Container Registry quick task request for building image. Source code can be hosted on a Github repo or uploaded from local machine. User can choose whether pushing image to Azure Container Registry)
Azure Event Grid Build Notifier (Send build notifications to an Azure Event Grid Topic)
Azure IoT Edge (Continuous integration(build and push docker image) and continuous deployment(create Edge deployment on Azure)
Windows Azure Storage (Azure Blob Storage Plugin enables uploading build artifacts to, or downloading blob files from, Microsoft Azure Blob storage)

 

Default Jenkins Plugins

 

  • Ant Plugin
  • Apache HttpComponents Client 4.x API Plugin
  • Authentication Tokens API Plugin
  • bouncycastle API Plugin
  • Branch API Plugin
  • Build Timeout
  • Command Agent Launcher Plugin
  • Common API for Blue Ocean
  • Credentials Binding Plugin
  • Credentials Plugin
  • Display URL API
  • Docker Commons Plugin
  • Docker Pipeline
  • Durable Task Plugin
  • Email Extension Plugin
  • Folders Plugin
  • Git client plugin
  • Git plugin
  • GIT server Plugin
  • GitHub API Plugin
  • GitHub Branch Source Plugin
  • GitHub plugin
  • Gradle Plugin
  • Jackson 2 API Plugin
  • JavaScript GUI Lib: ACE Editor bundle plugin
  • JavaScript GUI Lib: Handlebars bundle plugin
  • JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin
  • JavaScript GUI Lib: Moment.js bundle plugin
  • JDK Tool Plugin
  • JSch dependency plugin
  • JUnit Plugin
  • Kubernetes Continuous Deploy Plugin
  • LDAP Plugin
  • Lockable Resources plugin
  • Mailer Plugin
  • MapDB API Plugin
  • Matrix Authorization Strategy Plugin
  • Matrix Project Plugin
  • OWASP Markup Formatter Plugin
  • PAM Authentication plugin
  • Pipeline
  • Pipeline Graph Analysis Plugin
  • Pipeline (many plugins installed)
  • SCM API Plugin
  • Script Security Plugin
  • SSH Credentials Plugin
  • SSH Slaves plugin
  • Structs Plugin
  • Subversion Plug-in
  • Timestamper
  • Token Macro Plugin
  • Workspace Cleanup Plugin

 

Jenkins Firewall Ports

 

The Jenkins Windows Azure image comes with port 8080 configured to allow you to access the admin URL both internally and externally.

 

Depending on what you will be using the Jenkins server for, you’ll need to confirm if any firewall ports will need to be open in order for the Jenkins server to reach any resources in your environment.

 

To setup Azure firewall rules refer to – Azure Network Security Groups

 

Support

 

If you have any questions about the setup of Jenkins in Azure using our Windows Jenkins image leave your comments below and we will reply within 24 hours.

Andrew Fitzgerald

Cloud Solution Architect. Helping customers transform their business to the cloud. 20 years experience working in complex infrastructure environments and a Microsoft Certified Solutions Expert on everything Cloud

No Comments

Post a Comment

Comment
Name
Email
Website