小编Pet*_*ahn的帖子

如何让ant并行不复用/交错我的日志条目?

当我运行或在标签中时,多路复用日志将每个任务的输出混合在一起.我想要更容易阅读/ grokked的东西.

我尝试了以下方法,它们总比没有好,但仍然不是我想要的.以下回显了日志末尾的非交错日志输出,但它还首先具有两个任务的组合和混合输出.

有没有办法我可以告诉ant ONLY输出到有问题的文件,不要将日志输出冒泡到调用者?

<parallel>
  <ant target="task1" output=${log.dir}/task1.log"/>
  <ant target="task2" output=${log.dir}/task2.log"/>
</parallel>
<loadfile property="task1" srcfile="${log.dir}/task1.log"/>
<loadfile property="task2" srcfile="${log.dir}/task2.log"/>
<echo>Results:
Task1: ${task1}
---
Task2: ${task2}
</echo>
Run Code Online (Sandbox Code Playgroud)

ant parallel-processing logging

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

C#如何在没有注册的情况下使用遗留DLL(regsvr32)

情况
我运行一个构建系统,为许多项目执行许多构建.为了避免一个构建影响另一个构建,我们将构建用户锁定为仅其工作区.构建作为非特权用户运行,只对工作区具有写入功能.

挑战
在我们的新构建期间,我们需要使用通过COM公开其接口的传统3rdparty DLL.开发团队想要注册构建(regsrv32.exe),但我们的构建安全机制阻止了此活动.如果我们放松政权,那么第三方DLL将影响其他构建,如果我有两个构建需要两个不同的版本,我可能有错误的构建编译错误的版本(非常现实的可能性).

问题
除了注册之外还有其他选项可以处理通过COM公开其接口的旧DLL吗?

谢谢您的帮助

彼得

c# com build registration visual-studio

6
推荐指数
2
解决办法
9064
查看次数

当测试分类器设置为依赖项时,解决m2e工作空间分辨率缺少启动程序类路径中的测试类

当测试的pom将测试列为依赖项时,是否有人知道如何解决最近的M2eclipse插件无法在junit启动程序的类路径中包含依赖项目test-classes目录的问题?

代表的步骤

  • 创建到pom项目providerProj,userProj
  • 在providerProj中创建TestUtils类并使用其测试进行存储
  • 将userProj设置为依赖于提供者的测试分类工件(provider-test.jar)
  • 添加userProj测试,该测试从providerProj调用TestUtils类

在命令行上所有工作都按预期工作.通过测试类路径找到TestUtils类.

  • 将项目导入eclipse
  • 将userProj test作为junit运行

找不到故障类.

当我们检查测试的类路径时,看不到providerProj/test-classes文件夹.如果我们关闭providerProj并重新运行,它就可以工作,我们在类路径上看到provider-test.jar.

useProject
<dependency>
   <groupId>workspacetest</groupId>
   <artifactId>providerProj</artifactId>
   <classifier>test</classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我们可以手动编辑启动器并添加必要的文件夹,但这并不理想.我或许可以说服m2eclipse转储src并测试输出到目标/类中,这会掩盖问题并打开我纠缠的代码.我可以fork m2eclipse并更改句柄以假设测试分类器dep意味着包括工作空间解析目标/测试类.

你知道问题的解决方案吗?

谢谢

彼得

eclipse junit m2eclipse maven

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

jenkins 并行工作流插件因 java.io.NotSerializableException 失败:hudson.plugins.sshslaves.SSHLauncher

任何线索为什么并行会为如此简单的事情抛出序列化错误:

  branches[nodeSpec] = {
      node(nodeSpec) {
        echo("remote");
      }
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个工作流插件构建,它在我的所有节点上执行维护任务。这在今天早些时候有效,即使我执行该代码,我也会遇到以下失败。我无法理解是什么导致了问题。我知道这可能是变量使用的问题,但我认为我没有在节点关闭中使用任何变量。

如果您有任何建议,请告诉我

错误

java.io.NotSerializableException: org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:860) 的 hudson.plugins.sshslaves.SSHLauncher org.jboss.marshalling.river.RiverMarshaller.doMarshaller.doMarshaller.doMarshaller(RiverMarshaller.java:860)( ) 在 org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988) 在 org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967) 在 org.jboss.RiverMarshaller.java:967 doWriteObject(RiverMarshaller.java:854) at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:569) at org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMarshaller.java:65) .marshalling.river.BlockMarshaller.writeObject(BlockMarshaller.java:56)

代码

// Get all Nodes from Jenkins instance
def nodelist = Jenkins.getInstance().getNodes()
branches = [:]

// Iterate list -- NOTE: we cannot use groovy style or even modern java style iteration
for (int i =0; i < nodelist.size(); i++) {
   Slave node = nodelist[i]
   def nodeSpec =  node.name.toString()
   if (node.getComputer().isOnline()) { …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-workflow

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

非生产模式下的 Elasticsearch docker 容器以消除 vm.max_map_count=262144 要求

如何配置 elasticsearch docker 容器 (elasticsearch:7.5.0) 以使用更少的资源并在非生产模式下运行?

我想在 Jenkins 和我的桌面上运行容器,并且正在满足这个弹性文档中在生产中运行 docker 图像的要求

我想弄清楚如何修改我复制到容器中的 elasticsearch.yml 以将其配置为将容器设置为资源密集程度较低的模式。

有人知道怎么做吗?

elasticsearch docker

6
推荐指数
2
解决办法
6125
查看次数

将 Github slack 集成限制为仅限我分配或参与的评论

有没有人知道如何将 Github slack 集成限制为仅限分配给您或审阅者的审阅?

我将其添加到我的 Slack 工作区并设置订阅:

/github 订阅 myOrg 状态、评论

我希望只得到我的评论而不是所有评论。我似乎不知道如何过滤到我关心的项目,特别是因为通知选项是:每条新消息或没有。

github slack

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

Accurev表现如何?

Accurev当前版本(4.7)的性能如何?

  • 每100mb,每GB的结账时间?
  • 每个文件或mb提交的时间?
  • 当100多个流时,gui的响应能力?

我刚刚有一个Accurev的演示,这些流看起来像一个轻量级的方式来模拟代码/项目的工作流程.我听说过人们赞美Accurev的后端和抱怨性能.Accurev似乎对性能有所贡献,但我想获得一些真实世界的数据,以确保它不是演示的情况 - 运行良好.

有人有测试中的Accurev性能轶事或(甚至更好的)数据吗?

version-control accurev

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

驱动程序安装失败,因为交叉签名链不包含microsoft

您知道为什么签名证书链中会丢失"Microsoft Code Verification Root"吗?

我们最近在两个域之间移动了构建系统,并且必须重新安装证书.我们发现我们遇到了一个签名问题,其中Microsoft不在链中导致安装期间内核驱动程序拒绝.

我们注意到我们在certmgr中有2个额外的证书:Trusted Publisher:Certificates

  • 3级公共初级认证..
  • Verisign Class 3代码签名......

禁用3级公共主要认证后,"问题"就消失了,我们与微软建立了正确的签名链.

我不确定如何安装3级公共初级认证或我们使用它的是什么,并且正在测试我们可能面临的影响.

有没有人遇到过这种问题,他们是如何处理的?有没有办法在命令行上禁用class-3,这样我就可以单独保留certmgr设置,从而降低风险?

谢谢您的帮助

彼得

签署命令

signtool.exe sign /v /ac MSCV-VSClass3.cer /s TrustedPublisher /n "My Corp" /t http://timestamp.verisign.com/scripts/timstamp.dll mydriver.sys
Run Code Online (Sandbox Code Playgroud)

签署验证 signtool验证/ kp/v mydriver.sys

*** Signing Certificate Chain:
*** Issued to: Class 3 Public Primary Certification Authority
*** Issued by: Class 3 Public Primary Certification Authority
*** Expires:   8/2/2028 7:59:59 PM
*** SHA1 hash: xxxxxxxxxxxxxxxxxx

    Issued to: VeriSign Class 3 Code Signing 2009-2 CA
    Issued by: …
Run Code Online (Sandbox Code Playgroud)

windows kernel driver code-signing

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

找到进行 git commit 的第一个分支

如何找到进行提交的第一个分支?似乎能够做到这一点,但我不知道如何。

这似乎在 git 中是不可能的,因为它的设计将提交而不是分支放在更改跟踪的中心。

我可以使用以下显示第一个分支+任何合并但不能将焦点缩小到第一个提交分支的内容。

git branch --contains --merge <sha1>
Run Code Online (Sandbox Code Playgroud)

返回提交合并到的所有分支的列表以及它合并到的第一个分支。 --no-merged返回包含提交的所有后续分支,因为它们在合并点之后分支。

因此,您可以获得每个合并的列表,但不是第一个分支的列表,并且在命令执行之前删除的任何分支都将丢失(或者您正在查看 reflogs)

结果

git branch --contains <sha1 for "added feature/inital 1">
* develop
  feature/inital
  feature/subsequent1

git branch --contains <sha1 for "added feature/inital 1"> --merged
* develop
  feature/inital

git branch --contains <sha1 for "added feature/inital 1"> --no-merged
  feature/inital
Run Code Online (Sandbox Code Playgroud)

测试脚本

function mkbranch {
  git checkout -b $1
  git push --set-upstream origin $1
}

# Develop
mkbranch develop
for f in 1 2 3; do date > file${f}.txt;  git add …
Run Code Online (Sandbox Code Playgroud)

git version-control merge github git-branch

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

在jenkins共享库代码中访问环境变量

当我使用新的共享库时,我无法访问任何由Jenkinsfile或通过var / *。groovy脚本直接执行的src类的环境变量。即使我将withEnv添加到var / * groovy脚本中,该问题仍然存在。

使环境变量传播到jenkins共享库src类执行的诀窍是什么?

詹金斯档案

withEnv(["FOO=BAR2"]) {
  println "Jenkinsfile FOO=${FOO}"
  library 'my-shared-jenkins-library'
  lib.displayEnv()
Run Code Online (Sandbox Code Playgroud)

共享库var / lib.groovy

def displayEnv() {
  println "Shared lib var/lib FOO=${FOO}"
  MyClass c = new MyClass()
}
Run Code Online (Sandbox Code Playgroud)

共享库src / MyClass.groovy

class MyClass() {
  MyClass() {
    throw new Exception("Shared lib src/MyClass  FOO=${System.getenv('FOO')")
  }
}
Run Code Online (Sandbox Code Playgroud)

**运行结果**

Jenkinsfile FOO=BAR
Shared lib var/lib FOO=BAR
java.lang.Exception: Shared lib src/MyClass FOO=null
...
Run Code Online (Sandbox Code Playgroud)

jenkins-shared-libraries

5
推荐指数
2
解决办法
6487
查看次数