zoukankan      html  css  js  c++  java
  • Jenkins Slave Nodes – using the Swarm Plugin

    link: http://www.donaldsimpson.co.uk/2013/03/18/jenkins-slave-nodes-using-the-swarm-plugin/

    I’ve been trying out a new (to me at least) way to add a Jenkins Slave Node – using UDP auto discovery via the Jenkins Swarm Plugin

    This is a very easy and nice way to do it, with minimal configuration/hassle required so you can quickly and easily add new Jenkins Slave Nodes to your Master Jenkins instance as and when they are required.

    Here are my notes from setting this up – it’s pretty simple to do and worked well for me out of the box…

    Set up a new instance of Jenkins:

    • Make & cd to a working directory

    mkdir jenkinsswarm; cd jenkinsswarm

    • Fetch jenkins.war

    curl -O http://mirrors.karan.org/jenkins/war/1.506/jenkins.war

    • Start Jenkins

    {/path/to/java/bin/}java -jar jenkins.war

    After that, you should get console output along these lines…

    Running from: /root/jenkinsswarm/jenkins.war
    webroot: $user.home/.jenkins
    18-Mar-2013 15:19:26 winstone.Logger logInternal
    INFO: Beginning extraction from war file
    Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
    18-Mar-2013 15:19:33 winstone.Logger logInternal
    INFO: HTTP Listener started: port=8080
    18-Mar-2013 15:19:33 winstone.Logger logInternal
    INFO: Winstone Servlet Engine v0.9.10 running: controlPort=disabled
    18-Mar-2013 15:19:34 jenkins.InitReactorRunner$1 onAttained
    INFO: Started initialization
    18-Mar-2013 15:19:35 jenkins.InitReactorRunner$1 onAttained
    INFO: Listed all plugins
    18-Mar-2013 15:19:35 jenkins.InitReactorRunner$1 onAttained
    INFO: Prepared all plugins
    18-Mar-2013 15:19:35 jenkins.InitReactorRunner$1 onAttained
    INFO: Started all plugins
    18-Mar-2013 15:19:41 jenkins.InitReactorRunner$1 onAttained
    INFO: Augmented all extensions
    18-Mar-2013 15:19:41 jenkins.InitReactorRunner$1 onAttained
    INFO: Loaded all jobs
    18-Mar-2013 15:19:44 org.jenkinsci.main.modules.sshd.SSHD start
    INFO: Started SSHD at port 25133
    18-Mar-2013 15:19:44 jenkins.InitReactorRunner$1 onAttained
    INFO: Completed initialization
    18-Mar-2013 15:19:44 hudson.TcpSlaveAgentListener <init>
    INFO: JNLP slave agent listener started on TCP port 41790
    18-Mar-2013 15:19:44 hudson.WebAppMain$2 run

     
    INFO: Jenkins is fully up and running

    – that looks happy enough, and as you can see from the line “HTTP Listener started: port=8080” it’s running on the default port, so connect to http://yourhost:8080 and you should see something like this…

    1_newJenkins

    the next step is to install the Swarm Plugin (https://wiki.jenkins-ci.org/display/JENKINS/Swarm+Plugin) on this Jenkins Master instance so that Swarm Clients can connect to it.

    Do this by going to “Manage Jenkins > Manage Plugins > Available” then selecting to install the “Swarm Plugin“.

    Once that’s done you should see that the plugin has been installed…

    2_installPlugin
    Now that your new Jenkins server is set up and ready, hop over to your other Jenkins Slave/Client host and do the following…

    mkdir for the swarm client

    mkdir swarmclient; cd swarmclient/

    Get the Swarm Client jar file from the ‘net

    curl -O http://maven.jenkins-ci.org/content/repositories/releases/org/jenkins-ci/plugins/swarm-client/1.8/swarm-client-1.8-jar-with-dependencies.jar

    Start up the Client

    java -jar swarm-client-1.8-jar-with-dependencies.jar
    Found 1 eligible Jenkins.
    Connecting to http://mydomain.com:8080/
    Attempting to connect to http://mydomain.com:8080/ a2721b16-04e4-0d962
    18-Mar-2013 15:33:22 org.apache.commons.httpclient.HttpMethodDirector authenticateHost
    WARNING: Required credentials not available for BASIC <any realm>@mydomain.com:8080
    18-Mar-2013 15:33:22 org.apache.commons.httpclient.HttpMethodDirector authenticateHost
    WARNING: Preemptive authentication requested but no default credentials available
    18-Mar-2013 15:33:23 hudson.remoting.jnlp.Main$CuiListener <init>
    INFO: Hudson agent is running in headless mode.
    18-Mar-2013 15:33:23 hudson.remoting.jnlp.Main$CuiListener status
    INFO: Locating server among [http://mydomain.com:8080/]
    18-Mar-2013 15:33:23 hudson.remoting.jnlp.Main$CuiListener status
    INFO: Connecting to myhost.mydomain.com:43932
    18-Mar-2013 15:33:23 hudson.remoting.jnlp.Main$CuiListener status
    INFO: Handshaking
    18-Mar-2013 15:33:23 hudson.remoting.jnlp.Main$CuiListener status
    INFO: Connected

    Now take a look at your browser and you should see a new Node automatically added to the Master Jenkins instance…
    3_slaveConnected

    A very handy and flexible approach to adding/managing Nodes and workload – many thanks to the developers behind this!

  • 相关阅读:
    2020软件工程第四次作业04
    2020软件工程作业02
    2020软件工程作业01
    2020软件工程个人作业06——软件工程实践总结作业
    2020软件工程作业05
    2020软件工程作业00—问题清单
    2020软件工程作业03
    2020软件工程作业02
    2020软件工程作业01
    小小小-冲刺集合
  • 原文地址:https://www.cnblogs.com/buhaiqing/p/5481045.html
Copyright © 2011-2022 走看看