小编Jes*_*ick的帖子

有哪些技术可以避免使用Jenkins工作流Groovy脚本进行脚本批准?

Jenkins Workflow插件的以下脚本:

def mapping = readFile 'a file'
mapping.eachLine {
      def line = it.tokenize('|')
      sh "${line[1]}"
}
Run Code Online (Sandbox Code Playgroud)

需要脚本批准:

staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods tokenize java.lang.String java.lang.String
staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods eachLine java.lang.String java.lang.String
Run Code Online (Sandbox Code Playgroud)

为了使脚本成功运行,必须尝试构建,必须授予手动批准,然后必须再次尝试另一个构建,依此类推.

对于大型脚本,保持白名单方法是一个相当繁琐的过程.

是否有一些groovy方法的子集不需要脚本批准和/或白名单?

groovy jenkins-workflow

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

Java中的内存高效稀疏数组

(关于时间有效的稀疏数组有一些问题,但我正在寻找内存效率.)

我需要相当于一个List<T>Map<Integer,T>哪个

  1. 可以通过设置比以前遇到的任何键更大的键来按需增长.(可以假设键是非负的.)
  2. ArrayList<T>在大多数索引不是的情况下null,即在实际数据不是非常稀疏的情况下,就像存储器效率一样.
  3. 当指数稀疏时,消耗与非null指数数量成比例的空间.
  4. 使用的内存少于HashMap<Integer,T>(因为这会自动锁定密钥并且可能不会利用标量密钥类型).
  5. 可以在分摊日志(N)时间内获取或设置元素,其中N是条目数:不必是线性时间,二元搜索是可接受的.
  6. 在非病毒开源纯Java库中实现(最好在Maven Central中).

有谁知道这样的实用类?

我本来期望Commons Collections有一个,但它似乎没有.

我遇到的org.apache.commons.math.util.OpenIntToFieldHashMap看起来几乎是正确的,除了价值类型FieldElement似乎是无偿的; 我只想要T extends Object.它看起来很容易编辑它的源代码更通用,但我宁愿使用二进制依赖,如果有一个可用.

java memory sparse-array

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

从独立于开源平台的Java代码替换Windows*.exe中的图标

首先,这与从Java类生成EXE的常见问题不重复.我不需要这样做.

要解决NetBeans RFE#64612而不需要手动步骤,我需要一个Java(6+)库,它可以获取现有的 Windows *.exe文件,并用通用格式的替代品替换其图标.可执行文件是通用的并且是预构建的(以二进制形式分发),已经知道如何加载特定于应用程序的配置文件,然后使用各种应用程序JAR等启动JRE.唯一的问题是它有一个通用图标,我想将该图标替换为纯Java构建的一部分,并带有特定于应用程序的图标,因此它看起来更漂亮.

该库必须在非病毒开源许可下提供; 跨平台(必须在Windows,Linux,Mac,Solaris上运行),因此无法分叉某些特定于操作系统的帮助工具; 并且必须接受PNG输入,尽管EXE必须在XP上工作,因此根据Wikipedia应该嵌入BMP格式.在高层次上,假设Ant作为构建工具,我想要这样的东西:

<replaceicon from="app.exe" to="hello.exe" icon="hello.png"/>

有谁知道是否已经存在符合这些规范的工具?从各种网络搜索,我发现Launch4J,但这似乎只是叉windres的实际工作,因此不平凡的便携性.我发现JSmooth看起来更有前途 - 似乎包含用于处理ICO编解码器和操作PE文件的Java代码 - 但它是GPL.WinRun4J看起来使用本机代码进行图标操作,尽管我很难跟踪它的来源.据说Jimi处理ICO格式(标准javax.imageio似乎也是如此),但我想没有更新PE资源的工具.

java exe bmp ico portable-executable

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

使用Java为大文件生成MD5非常慢

我正在使用Java为某些文件生成MD5哈希.我需要为几个文件生成一个MD5,总大小约为1千兆字节.这是我的代码:

private String generateMD5(SequenceInputStream inputStream){
    if(inputStream==null){
        return null;
    }
    MessageDigest md;
    try {
        int read =0;
        byte[] buf = new byte[2048];
        md = MessageDigest.getInstance("MD5");
        while((read = inputStream.read(buf))>0){
            md.update(buf,0,read);
        }
        byte[] hashValue = md.digest();
        return new String(hashValue);
    } catch (NoSuchAlgorithmException e) {
        return null;
    } catch (IOException e) {
        return null;
    }finally{
        try {
            if(inputStream!=null)inputStream.close();
        } catch (IOException e) {
            // ...
        }
    } 
Run Code Online (Sandbox Code Playgroud)

}

这似乎永远存在.我怎样才能提高效率?

java performance checksum md5 file

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

恢复Maven加密密码?

我让Maven设置密码加密和主密码,前段时间我用它加密了密码并存储在我的密码中settings.xml.密码已被Maven插件成功使用.

现在我想恢复该密码以便在Maven外部使用(使用Web浏览器手动执行操作).是否有命令只是打印解密版本的服务器密码?

password-recovery password-encryption maven

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

如何在Jenkins Workflow中重复一个阶段

我正在尝试在Cloudbees上使用Jenkins来自动部署我的软件.我设置我的工作流程如下.

詹金斯工作流程

有时候我想重新部署.(假设该阶段采用手动输入参数).我如何在工作流程中这样做?这是我的Groovy脚本.

def src = 'https://git.repo.url/proj.git'

stage 'Build'
node {
    env.JAVA_HOME="${tool name: 'Pre-Installed OpenJDK 8 (Latest) on DEV@Cloud nodes', type: 'hudson.model.JDK'}"
    sh 'javac -version'
    git credentialsId: 'abcdef', url: src
    sh 'ant -f build.xml proj.jar report'
}

stage 'Generate Release Version'
input message: 'Create Tar and Push to S3', ok: 'Generate Release'
node {
    // TODO
}

stage 'QA Approved'
input message: 'Enter a Tag Name to approve this build and tag in GIT', ok: 'Approve and Tag', parameters: [[$class: 'StringParameterDefinition', …
Run Code Online (Sandbox Code Playgroud)

groovy continuous-deployment jenkins cloudbees jenkins-workflow

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

访问Jenkins Build Pipeline Console中的HTTP ERROR 404

配置Jenkins后,在Build Pipeline中单击控制台图像时出现错误.

问题是因为/ view/jobName在URL中重复了两次.

我该如何解决这个问题

HTTP ERROR 404

Problem accessing           

/view/<jobName>/view/<jobName>/job/<jobName>/2571/console
. Reason:
Not Found
Powered by Jetty://
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-plugins

9
推荐指数
0
解决办法
2405
查看次数

詹金斯的种子工作是什么?它是如何运作的?

詹金斯的种子工作是什么?它是如何运作的?

我们可以在不使用github的情况下从种子作业中创建新工作吗?

jenkins jenkins-plugins jenkins-job-dsl

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

jenkins工作流插件的'unarchive'的语法是什么?

在Jenkins工作流插件unarchive教程中看到了多种用法.但我无法找到有关其语法和选项的任何文档.

jenkins jenkins-workflow

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

Jenkins - 将构建日志从主服务器复制到共享驱动器

有人可以指引我到这里吗?我在 WINDOWS 环境中的 Jenkins 中配置了一个简单的作业(主服务器和所有从服务器都在 Windows 上运行),并且该作业应该在特定的从服务器上运行。构建作业时,构建日志 ( log.log) 存储在主服务器上的 \xe2\x80\x9d %JENKINS_HOME%\\jobs\\\\builds\\%BUILD_NUMBER%\\\xe2\x80\x9d 中。

\n\n

我确实在该作业的从属节点上设置了一个 Jenkins 工作区(添加从属节点时需要)\xe2\x80\x93,其中作业运行时不会存储任何内容。

\n\n

在这种情况下,我想将构建日志(主服务器上可用的 log.log 文件\xe2\x80\x99s)复制到共享驱动器。请告诉我如何完成这件事。我尝试了几个插件 \xe2\x80\x9cCopy to Slave\xe2\x80\x9d、\xe2\x80\x9cCopy Artifact Plugin\xe2\x80\x9d 和 ArtifactDeployer Plugin\xe2\x80\xa6 我无法让它们满足我需要的。

\n

jenkins jenkins-plugins jenkins-scriptler jenkins-cli

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