我正在使用kuberntes-plugin.在其自述文件中,它给出了如何使用多个容器图像编写脚本化管道
podTemplate(label: 'mypod', containers: [
containerTemplate(name: 'maven', image: 'maven:3.3.9-jdk-8-alpine', ttyEnabled: true, command: 'cat'),
containerTemplate(name: 'golang', image: 'golang:1.8.0', ttyEnabled: true, command: 'cat')
]) {
node('mypod') {
Run Code Online (Sandbox Code Playgroud)
我尝试了以下的声明性管道.
pipeline {
agent {
kubernetes {
//cloud 'kubernetes'
label 'mypod'
containerTemplate {
name 'maven'
image 'maven:3.3.9-jdk-8-alpine'
ttyEnabled true
command 'cat'
}
containerTemplate {
name 'containtertwo'
image 'someimage'
ttyEnabled true
}
}
}
Run Code Online (Sandbox Code Playgroud)
它创建一个只有一个容器的pod.
如何使用多个containerTemplates与声明管道?
是否可以从 rpc 方法定义访问 grpc 调用的上下文属性?
我写了一个类似于这个的服务器拦截器
@Override
public <ReqT, RespT> ServerCall.Listener<ReqT> interceptCall(ServerCall<ReqT, RespT> call, final Metadata requestHeaders, ServerCallHandler<ReqT, RespT> next) {
Context.Key<String> USER = Context.key("USER");
Context ctx = Context.current().withValue(USER, "chandan");
return Contexts.interceptCall(ctx, call, requestHeaders, next);
}
Run Code Online (Sandbox Code Playgroud)
在服务实现中,我正在尝试类似的东西
Context.Key<String> key = Context.key("USER");
String value = key.get(Context.current())
Run Code Online (Sandbox Code Playgroud)
每次值为空。但是在调试中的IntelliJ我可以在看到那些值context.current().keyValueEntries
作为
CompressedIndex(bitmap=100001000000000000000000000000 Leaf(key=USER value=chandan) Leaf(key=opencensus-trace-span-key value=BlankSpan) )
Run Code Online (Sandbox Code Playgroud)
我如何访问上下文属性/正确的方法是什么?