小编TZ-*_*-EZ的帖子

控制台日志中的 Jenkins 声明式管道掩码参数密码

我想屏蔽 Jenkins 作业中作为参数提供的密码,它使用声明性管道语法。我不想保存任何凭据并使用它们。因为这将是运行特定于他们的作业的用户输入的凭据。

我已经尝试过 MaskPasswordsBuildWrapper,但它不起作用。如果有人可以提供工作示例,我将不胜感激。

这是我使用 MaskPasswordsBuildWrapper 的声明式管道的 Jenkinsfile,它不起作用:

pipeline {

    agent none

    options {
        skipDefaultCheckout()
        skipStagesAfterUnstable()
    }

    parameters {
        string(name: 'userid', defaultValue: 'master', description: 'Enter User ID')
        password(name: 'passwd', defaultValue: 'secret', description: 'Enter Password')
    }

    stages {
        stage('Test') {
            agent {
                label 'someLabel'
            }
            steps {
                script {
                    wrap([$class: 'MaskPasswordsBuildWrapper', varPasswordPairs: [[var: 'PSWD', password: params.passwd]], varMaskRegexes: []]) {
                        sh "echo PSWD: ${PSWD}"
                    }
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

password-encryption jenkins jenkins-pipeline

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

Java堆内存持有大字节数组

我们正在将Java 8 Spring Boot 2用于我们的微服务应用程序。在本地运行负载测试会注意到堆正在消耗内存,但从未释放过。我正在使用G1垃圾收集器运行该应用程序,还通过JVisualVM进行了手动GC,但仍然无法释放分配的内存。

我进行了堆转储并对其进行了分析,我可以清楚地看到由System Class Loader创建的大字节数组被列为泄漏可疑对象。我看到字节数组实例将我的HTTP请求保存到端点“ / test”。但是负载测试已经完成,线程又回到了运行负载测试之前的状态。

不知道为什么系统类加载器加载的字节数组包含所有这些元素,并且无缘无故地占用了所有这些堆。

JVisualVM

泄漏嫌疑人

字节数组

带有引用的对象

/ test端点是@RestController类中的唯一方法

@RequestMapping(value = "/test", method = RequestMethod.GET)
@CrossOrigin(origins = "*")
public void test() {
    logger.info("Testing1...");
}
Run Code Online (Sandbox Code Playgroud)

以下是与服务器相关的Spring Boot application.properties:

server.port=8090
server.tomcat.max-threads=200
server.tomcat.accept-count=100
server.tomcat.min-spare-threads=20
server.error.whitelabel.enabled=false
server.max-http-header-size=2097152
Run Code Online (Sandbox Code Playgroud)

java heap heap-memory java-8 spring-boot

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