Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
LinuxSuRen
jenkins
提交
16b0aede
J
jenkins
项目概览
LinuxSuRen
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
16b0aede
编写于
7月 26, 2016
作者:
S
Stephen Connolly
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[JENKINS-36871] Advertise the instance identity for the TCP Agent details page
上级
e6c6de4b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
22 addition
and
0 deletion
+22
-0
core/src/main/java/hudson/TcpSlaveAgentListener.java
core/src/main/java/hudson/TcpSlaveAgentListener.java
+20
-0
core/src/main/resources/hudson/TcpSlaveAgentListener/index.jelly
...c/main/resources/hudson/TcpSlaveAgentListener/index.jelly
+2
-0
未找到文件。
core/src/main/java/hudson/TcpSlaveAgentListener.java
浏览文件 @
16b0aede
...
...
@@ -23,6 +23,11 @@
*/
package
hudson
;
import
java.nio.charset.Charset
;
import
java.security.interfaces.RSAPublicKey
;
import
java.security.interfaces.RSAPrivateKey
;
import
javax.annotation.Nullable
;
import
jenkins.model.identity.InstanceIdentityProvider
;
import
jenkins.util.SystemProperties
;
import
hudson.slaves.OfflineCause
;
import
java.io.DataOutputStream
;
...
...
@@ -44,6 +49,7 @@ import java.net.Socket;
import
java.nio.channels.ServerSocketChannel
;
import
java.util.logging.Level
;
import
java.util.logging.Logger
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.io.IOUtils
;
/**
...
...
@@ -103,6 +109,20 @@ public final class TcpSlaveAgentListener extends Thread {
return
CLI_PORT
!=
null
?
CLI_PORT
:
getPort
();
}
/**
* Gets the Base64 encoded public key that forms part of this instance's identity keypair.
* @return the Base64 encoded public key
* @since FIXME
*/
@Nullable
public
String
getIdentityPublicKey
()
{
InstanceIdentityProvider
<
RSAPublicKey
,
RSAPrivateKey
>
provider
=
InstanceIdentityProvider
.
get
(
RSAPrivateKey
.
class
);
RSAPublicKey
key
=
provider
==
null
?
null
:
provider
.
getPublicKey
();
return
key
==
null
?
null
:
new
String
(
Base64
.
encodeBase64
(
key
.
getEncoded
()),
Charset
.
forName
(
"UTF-8"
));
}
@Override
public
void
run
()
{
try
{
...
...
core/src/main/resources/hudson/TcpSlaveAgentListener/index.jelly
浏览文件 @
16b0aede
...
...
@@ -34,6 +34,8 @@ THE SOFTWARE.
if the host name is overriden, advertise that as well
-->
<st:header name="X-Jenkins-JNLP-Host" value="${app.tcpSlaveAgentListener.CLI_HOST_NAME}" />
<!-- publish the instance identity so that agents can verify match from discovery -->
<st:header name="X-Instance-Identity" value="${app.tcpSlaveAgentListener.identityPublicKey}" />
Jenkins
</j:jelly>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录