Jenkins JNLP和SSH的区别是什么?

what 发表于: 2022-09-29   最后更新时间: 2022-09-29 21:03:09   919 游览

Master与Slave(现在叫Agent)通信常用2种方式:sshJNLP

我始终搞不懂JNLP和SSH的区别,不知道该用哪个好。

有人能解释一下吗?

发表于 2022-09-29

Jenkins在并发场景下,需要采用分布式构建的方式缓解压力,主要方式之一主多从(Master/Slave)。Master主要用于作业(job)的分配以及用户操作的交互等,而Slave则用于处理实际构建作业等。

主要核心区别是:

  • SSH是Master主动连接Slave
  • JNLP是Slave主动连接Master

SSH的方式

当你在Master配好了一台机器的账密,那么Master就可以通过账密SSH到这台机器执行命令,所以SSH是Master主动连接Slave

JNLP的方式

JNLP(Java Network Launching Protocol )是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序。

这个只是技术方式,其核心是Slave上的节点,主动运行一个agent程序与Master建立连接,接收并执行Master传递的Job,然后将结果反馈给Master。这个好处是不需要配置账密了。

ps:你想象一下你有很多机器的时候,每个都要在jenkins上配置多麻烦。

what -> 半兽人 1年前

感谢,一下就懂了。

你的答案

查看jenkins相关的其他问题或提一个您自己的问题