shisgmei 发表于 2018-1-9 21:54:47

[ci]jenkins-slave的添加(vm模式,通过ssh和jnlp)

jenkins-slave的添加-在vm上通过jnlp方式
  参考:http://www.cnblogs.com/sparkdev/p/7102622.html
https://ws1.sinaimg.cn/large/9e792b8fgy1fm09hgakvmj20l80lr406.jpg
  下载 slave.jar和slave-agent.jnlp
  
https://images2017.cnblogs.com/blog/806469/201711/806469-20171130175025417-1925362859.png
  启动slave(slave事先要安装好java)
  

java -jar slave.jar -jnlpUrl http://192.168.xx:8080/computer/no2/slave-agent.jnlp -secret b9bfa768bd36e622cb883fc4edf5553042a7c8190793e4658ef9a0692599437d -workDir "/data/jenkins"  

  查看节点状态
  
https://ws1.sinaimg.cn/large/9e792b8fgy1fm09l4ng00j21gc0cidha.jpg
  可以执行shell命令
  
https://ws1.sinaimg.cn/large/9e792b8fgy1fm09kn3kgoj20ip0abwfi.jpg
  缺点:


[*]需要在slave端手动下载slave-agent.jnlp和slave.jar
[*]需要在slave端手动java -jar 启动
jenkins-slave的添加-在vm上通过ssh用户名密码方式--推荐方法(最佳实践)
  参考:http://blog.csdn.net/jiang1986829/article/details/51141731
  
https://ws1.sinaimg.cn/large/9e792b8fgy1fm0a95bl53j20p80ovmzk.jpg
  slave上看进程,发现就是java -jar 启动了个slave.jar包.
  
https://images2017.cnblogs.com/blog/806469/201711/806469-20171130181950198-2122500119.png

用新添加的node构建一个项目
  

node('no2'){  git "https://github.com/lannyMa/java-helloword.git"
  state: 'clean'
  sh 'mvn clean'
  stage 'package'
  sh 'mvn package'
  stage 'test'
  sh 'java -jar target/testweb-v1.0.jar'
  
}
  

  发现slave的mvn找不到.可是我/etc/profile里和master配置一样.
  
master是这样配置的: 安装jdk mvn,均是源码包.然后添加/etc/profile, 然后直接新建pipeline即可(不用在jenkins里添加任何jdk mvn路径),即可运行构建.
  解决: 修改no2节点的环境变量
  

PATH  
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin:/usr/local/maven/bin:/root/bin
  

https://images2017.cnblogs.com/blog/806469/201711/806469-20171130185950383-1495628513.png
  
重新构建即构建成功
  
https://images2017.cnblogs.com/blog/806469/201711/806469-20171130190050914-1786071314.png
  构建结果存在了slave的workdir里了.(这里不存在回传给master之类的说法)
  
https://images2017.cnblogs.com/blog/806469/201711/806469-20171130190252211-1433592032.png
页: [1]
查看完整版本: [ci]jenkins-slave的添加(vm模式,通过ssh和jnlp)