Continuous Integration, Delivery, and Deployment by Sander Rossel

Continuous Integration, Delivery, and Deployment by Sander Rossel

Author:Sander Rossel
Language: eng
Format: epub
Tags: COM051310 - COMPUTERS / Programming Languages / C#, COM051260 - COMPUTERS / Programming Languages / JavaScript, COM051430 - COMPUTERS / Software Development and Engineering / Project Management
Publisher: Packt
Published: 2017-10-30T11:33:53+00:00


It looks like Jenkins messed up your folder structure, but it did not. When you click on Last Successful Artifacts, you can browse your artifact files in their original folder structure. It also lets you download all your artifacts in a ZIP file, so all you need to do is unpack the zip in your production environment and you are pretty much done.

We will need our artifacts later as there are multiple things we can do with them.

Running on Windows with Jenkins Slaves

We have come pretty far in what we can do using Jenkins, all automated. However, there is still the issue that we are running on Ubuntu. We still need to test our code on Internet Explorer and Edge and, in the real world, probably Safari. Unfortunately, we are stuck on Ubuntu, or so it seems. Luckily, Jenkins has a neat feature that enables us to run Jenkins remotely on different computers, slaves, or nodes.

Go to your Jenkins management and find Manage Nodes. On the menu, click New Node. Pick a node name, for example, Windows Slave, and make it Permanent Agent (at this point you probably have no other choice). In the next form, choose a remote root directory, something like C:\Jenkins (this is going to run on Windows!). Also, give this node the windows label and choose Only build jobs with label expression matching this node for usage. Optionally, you can set the # of executors to something other than 1. This value specified how many builds may run on this machine at the same time. If you have a very fast machine with lots of memory, you may be able to build five projects at a time, but if your server is a little slower, one or two might be a good option. If you have more builds than available executors, some builds will be queued until an executor becomes available again. Now comes the part where things get a little tricky. Jenkins needs to launch the Jenkins slave service. If this service is not available on the remote machine, Jenkins cannot communicate with the machine (assuming the Jenkins and remote machines can properly communicate otherwise). Jenkins can launch the slave service via a command on the master or it can take control of the remote host and install a Windows service. That last option sounds tempting, but unfortunately, Jenkins uses DCOM and it already warns you for the subtle problems you might encounter. Luckily, Jenkins also proposes an alternative, Java Web Start. However, Java Web Start is not an option right now. Just save this node and we will enable Java Web Start. Go to Jenkins management and then to Global Security. Set TCP port for JNLP agents from Disable to Random and save. Now, go back to your node configuration and you should be able to pick the Launch agent via Java Web Start launch method. Once you save your node, you should get a download. If you are not getting a download, go



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.