小编Sri*_*vas的帖子

java.lang.NoSuchMethodError:没有这样的DSL方法'readJSON'

def data = readJSON text: '{"rel" : {"configVersion": "1.0","manifest" :"'+"${manifestURL}"+'"}}'
writeJSON(file: 'C:\\Users\\Public\\json\\config.json', json: data)
Run Code Online (Sandbox Code Playgroud)

我在我的jenkins管道中使用JSON函数并获取NoSuchMethodFoundError.我正在使用Jenkins 2.85.

知道如何解决这个问题吗?

java.lang.NoSuchMethodError: No such DSL method 'readJSON' found among steps 
[archive, bat, build, catchError, checkout, deleteDir, dir, 
dockerFingerprintFrom, dockerFingerprintRun, echo, emailext, 
emailextrecipients, envVarsForTool, error, fileExists, getContext, git, 
input, isUnix, library, libraryResource, load, mail, milestone, node, 
parallel, powershell, properties, pwd, readFile, readTrusted, resolveScm, 
retry, script, sh, sleep, stage, stash, step, svn, timeout, timestamps, tm, 
tool, unarchive, unstash, validateDeclarativePipeline, waitUntil, 
withContext, withCredentials, withDockerContainer, withDockerRegistry, …
Run Code Online (Sandbox Code Playgroud)

groovy continuous-integration json jenkins jenkins-pipeline

13
推荐指数
2
解决办法
1万
查看次数

如何在Jenkins文件Groovy函数中访问阶段外的变量?

我的詹金斯文件如下所示:

import groovy.json.*
def manifestFile = "C:\\manifest.yml"

node {
  stage('Build') { 

  }
  stage('Deploy') { 
    checkDeployStatus()
  } 
}

def boolean checkDeployStatus() {
  echo "${manifestFile}"
  return true
}
Run Code Online (Sandbox Code Playgroud)

我得到的例外如下:

groovy.lang.MissingPropertyException: No such property: manifestFile for class: groovy.lang.Binding
    at groovy.lang.Binding.getVariable(Binding.java:63)
Run Code Online (Sandbox Code Playgroud)

如何访问节点外的变量?

groovy jenkins jenkins-pipeline

9
推荐指数
2
解决办法
6368
查看次数

如何动态地将值填充到 Kubernetes yaml 文件中

我想在运行时传递 kubernetes yaml 文件中的一些值,例如从配置/属性文件中读取。

最好的方法是什么?

在下面的示例中,我不想对端口值进行硬编码,而是从配置文件中读取端口号。

前任:

logstash.yaml
Run Code Online (Sandbox Code Playgroud)
apiVersion: v1
kind: ReplicationController
metadata:
name: test
namespace: test
spec:
replicas: 1
selector:
app: test
template:
metadata:
  labels:
    app: test
spec:
  containers:
  - name: test
    image: logstash
    ports:
    - containerPort: 33044 (looking to read this port from config file)
    env:
    - name: INPUT_PORT
      value: "5044"

config.yaml

logstash_port: 33044
Run Code Online (Sandbox Code Playgroud)

kubernetes

4
推荐指数
1
解决办法
1万
查看次数

如何在 Logback 中使用 JSON 附加程序?

我正在尝试以 JSON 格式输出所有日志事件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
        <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>
<root level="INFO">
    <!--<appender-ref ref="kafkaAppender" />-->
    <appender-ref ref="STDOUT" />
</root>
Run Code Online (Sandbox Code Playgroud)

Maven 依赖:

   <dependency>
        <groupId>net.logstash.logback</groupId>
        <artifactId>logstash-logback-encoder</artifactId>
        <version>4.7</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我在运行此配置时看到错误。我错过了什么吗?

这是堆栈跟踪:

Exception in thread "main" java.lang.AbstractMethodError: net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder.headerBytes()[B
at ch.qos.logback.core.OutputStreamAppender.encoderInit(OutputStreamAppender.java:180)
at ch.qos.logback.core.OutputStreamAppender.setOutputStream(OutputStreamAppender.java:171)
at ch.qos.logback.core.ConsoleAppender.start(ConsoleAppender.java:81)
at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:90)
at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)
at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)
at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179)
at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150)
at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124) …
Run Code Online (Sandbox Code Playgroud)

logback logstash-logback-encoder

1
推荐指数
1
解决办法
4528
查看次数