我正在学习本教程:
node {
git url: 'https://github.com/joe_user/simple-maven-project-with-tests.git'
...
}
Run Code Online (Sandbox Code Playgroud)
但是,它没有说明如何添加凭据.Jenkins确实有特定的"凭据"部分,您可以在其中定义用户user&pass,然后获取要在作业中使用的ID,但是如何在管道指令中使用它?
我尝试过:
git([url: 'git@bitbucket.org:company/repo.git', branch: 'master', credentialsId: '12345-1234-4696-af25-123455'])
Run Code Online (Sandbox Code Playgroud)
没运气:
stderr: Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
有没有办法在管道中配置信用卡,还是我必须将SSH密钥放到Jenkin的Linux用户的.ssh/authorized_keys文件中?
在理想的世界中,我想拥有一个管道作业和repo-keys的存储库,然后启动Docker Jenkins,并在那里动态添加这些作业和密钥,而无需在Jenkins控制台中进行任何配置.
我的用例:
它们是在同一台机器上运行的独立进程.我想在进程之间传输的数据是包含原始类型(整数,字符串,布尔值)的集合(列表,映射).
我知道这可以通过打开socket-connect(在序列化数据时创建一些特定协议)或通过RMI(或多或少相同的东西)来完成.我们在15年前做过这两件事.现在没有人自动化这个,所以通过使用一些库你可以设置@InterProcessMethod("some", "details")并能够在不同的JVM上调用方法,而不必每次都实现序列化等等?(因为主要类型不应该太复杂).
一家名为Caucho的公司曾经有一些产品来解决这个问题,但我再也找不到他们的网页了.然后,它再次是一种Web服务而不是RPC.
我正在使用Dropwizard 0.8.4和jackson-datatype-jsr310。
a)想要将我的LocalDateTime序列化为DateTimeFormatter.ISO_INSTANT的JSON输出,但是找不到任何干净的方法(不实现自定义序列化类),这不是简单注释的标准做法吗?
目前,我的代码适用于:
@JsonProperty
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss'Z'")
@JsonSerialize(using = LocalDateTimeSerializer.class)
public LocalDateTime getTime() {
...
}
Run Code Online (Sandbox Code Playgroud)
但是该模式与ISO_INSTANT并不完全相同,并且在我对其进行调试时,甚至无法通过String模式显示ISO_INSTANT。
b)我会更好地使用Joda-Time,默认情况下似乎由Dropwizard支持吗?
c)是否可以根据值(布尔值为false)跳过将Java字段序列化为JSON的方法?我尝试了@JsonFilter和SimpleBeanPropertyFilter,但没有使它正常工作,而且它似乎也已弃用。而且@JsonProperty(defaultValue ...)似乎也不起作用。