我们正在为我们的CD使用具有多分支配置的管道插件.我们检查了Jenkins文件,它可以解决git问题.
git url: "$url",credentialsId:'$credentials'
Run Code Online (Sandbox Code Playgroud)
该工作正常,但是当更改被推送到github时不会自动触发.我已正确设置GIT Web挂钩.
有趣的是,当我进入multibranch作业的一个分支并单击"View Configuration"时,我看到"将更改推送到Github时构建"未经检查.没有办法检查它,因为我无法修改作业的配置(因为它来自父级)并且父级中没有相同的选项.
任何想法如何解决这一问题?
我试图在我的播放scala服务(Play v2.5.7)中使用谷歌云数据存储,因为我google-cloud在build.sbt中添加了依赖项
Run Code Online (Sandbox Code Playgroud)"com.google.cloud" % "google-cloud" % "0.4.0",
没有依赖项,服务器启动正常.但是,添加依赖项后,播放服务器启动会出错:
[info] Loading global plugins from /<redacted>/.sbt/0.13/plugins
[info] Loading project definition from /<redacted>/dev/auth-svc/project
[info] Set current project to authsvc (in build file:/<redacted>/auth-svc/)
--- (Running the application, auto-reloading is enabled) ---
java.lang.NullPointerException
at io.netty.channel.group.DefaultChannelGroup.add(DefaultChannelGroup.java:146)
at play.core.server.NettyServer.bind(NettyServer.scala:140)
at play.core.server.NettyServer.play$core$server$NettyServer$$bindChannel(NettyServer.scala:224)
at play.core.server.NettyServer$$anonfun$1.apply(NettyServer.scala:216)
at play.core.server.NettyServer$$anonfun$1.apply(NettyServer.scala:216)
at scala.Option.map(Option.scala:146)
at play.core.server.NettyServer.<init>(NettyServer.scala:216)
at play.core.server.NettyServerProvider.createServer(NettyServer.scala:279)
at play.core.server.NettyServerProvider.createServer(NettyServer.scala:278)
at play.core.server.DevServerStart$$anonfun$mainDev$1.apply(DevServerStart.scala:235)
at play.core.server.DevServerStart$$anonfun$mainDev$1.apply(DevServerStart.scala:65)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.core.server.DevServerStart$.mainDev(DevServerStart.scala:64)
at play.core.server.DevServerStart$.mainDevHttpMode(DevServerStart.scala:54)
at play.core.server.DevServerStart.mainDevHttpMode(DevServerStart.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at …Run Code Online (Sandbox Code Playgroud) 我们有一段工作流代码可以执行以下操作:
1从磁盘加载一些文件
2.使用SimpleTemplateEngine和绑定来渲染其内容
3.将其结果写入另一个文件。
def renderTemplates(binding) {
//stage "Render templates"
sh "find $infraDir/*.tpl -printf '%f\n' > result"
def files = readFile('result').split('\n')
println("Found tpl files -> $files")
sh "rm result" //Remove the result file
for(int i=0; i<files.size(); i++){
def tpl = files[i]
println("Process tpl file ${tpl}")
renderTemplate(readFile("${infraDir}/${tpl}"), tpl, binding)
}
}
@NonCPS
def renderTemplate(String input,String tpl, binding){
def template = new groovy.text.SimpleTemplateEngine().createTemplate(input).make(binding)
def rendered = template.toString()
def newFileName = "$infraDir/${tpl.replaceFirst(/\.tpl$/, "")}"
//sh "echo ${rendered} > ${newFileName}" //--> GIVES ERROR
writeFile file: …Run Code Online (Sandbox Code Playgroud) 我正在使用以下查询来计算我们 GKE 集群中节点的成本(为可读性添加了新行)
sum(
kube_node_status_capacity_cpu_cores * on(node) group_left(label_cloud_google_com_gke_nodepool)
kube_node_labels{
label_cloud_google_com_gke_preemptible = "true"
}
) * 5.10 +
sum(
kube_node_status_capacity_cpu_cores * on(node) group_left(label_cloud_google_com_gke_nodepool)
kube_node_labels{
label_cloud_google_com_gke_preemptible = ""
}
) * 16.95
Run Code Online (Sandbox Code Playgroud)
如果集群具有可抢占节点,则它有效,因为至少有一个节点,label_cloud_google_com_gke_preemptible = "true"因此第一个 sum 运算符返回一个值。
当集群没有抢先节点时它失败,因为没有节点,label_cloud_google_com_gke_preemptible = "true"因此第一个总和不返回值
是否可以修改查询,以便第一个总和返回 0 值?