azurejenkinsjenkins-agent

Jenkins Slave Node : Can I use it to take over build done on different domain?


I have successfully set up Jenkins on local domain as a test. It builds from SCM, zips the build, extracts to a unique timestamp folder, and then copies over the files to the IIS folder.

I now have to set it up to deploy to a Azure VM. Now things are getting hairy. I get the file to copy across - it takes a long time. Unzipping literally takes an hour.

Cross domain user rights are also making things difficult as the user running Jenkins service does not exist on production boxes which are on Azure domains.

What are my options? Should I install a slave node on the production box and then "activate" the slave from the master and then let the slave : 1. perhaps copy the file over from Azure storage to the production box? 2. extract the files 3. Copy the files to the IIS folder.


Solution

  • Well, there's no clear answer to this, try what works best for you. So the main options i see are:
    1. Use slave node in Azure, upload zip to some place (Azure storage account or whatever) and let slave node handle the download\unpacking\etc.
    2. Use remote PowerShell and connect directly to servers in Azure and download the zip from the web (or Azure storage or whatever) and extract it.
    3. Use a tool, like Octopus, which does literally the same, but is kind of build with deployments in mind.