小编Fre*_*sen的帖子

Jenkins多分支管道并指定上游项目

我们目前使用Jenkins作业DSL在每个Git分支基础上生成大量Jenkins作业; 多分支管道插件看起来像是一种有趣的方式,可以使用Jenkinsfiles获得一流的作业生成支持,并减少我们维护的作业DSL数量.

例如,我们有libwidget-serverwidget-server开发分支项目.当libwidget-server构建完成后,触发widget-server作业(对于develop分支).这也适用于其他分支机构.

这使得Build after other projects are built在完成上游构建时触发(例如,libwidget-server导致构建widget-server).

似乎多分支管道插件缺乏Build after other projects are built设置 - 我们如何在多分支管道构建中完成上述操作?

jenkins jenkins-pipeline

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

为什么要使用Gradle独立配置?

我正在阅读有关Gradle的分离依赖项配置的信息,并且API docs的方法描述显示“创建配置,但不将其添加到此容器中”。我想知道的是

  1. 我为什么要这样做?
  2. 然后在什么时候重新附加此依赖项配置?

初步搜索显示了与插件相关的原因,但这不是结论。

gradle

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

迭代NSSet并转换为一步输入

有没有办法从NSSet(或任何非本机Swift集合)中转换元素,并在一个步骤中将每个元素转换为一个类型.目前我正在这样做

// "zoo" is an NSOrderedSet
for animal in zoo {
  if let animal = animal as? Animal {
    if animal.needFeeding {
      // Feed the animal
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

以上看起来有点笨拙.该集来自CoreData,因此我必须使用NSSet.

swift

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

Swift枚举的文档约定

Apple API文档中,枚举deleteSelf在我的Xcode中列出,实际的枚举似乎是DeleteSelf- 注意开头的大小写差异.没什么大不了的,但浪费了一些时间试图弄清楚为什么它不会识别枚举.

是否有一些文档约定或Apple网站上的错误?

swift

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

在配置阶段获取 Gradle 任务图

有没有办法在 Gradle 配置阶段获取任务图甚至只是任务名称?

我们在 buildSrc 中有一些代码,根据将要运行的任务采取一些行动会很方便。如果我尝试在我们的 buildSrc 代码中获取任务图,那么我会收到Task information is not available, as this task execution graph has not been populated.. 有没有办法在填充执行图之前了解要执行哪些任务?

我正在考虑解析 Gradle 命令行以检查那里的任务名称,但这很脆弱,似乎不太理想。

gradle

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

Jenkinsfile归档步骤:允许缺少工件

在常规UI定义的作业下,我可以选择"如果归档没有返回任何内容,请不要失败".如何在管道代码中实现等效?

例如,目前我有以下几点:

archive 'screenshots/**', 'build/test/results/*.xml'
Run Code Online (Sandbox Code Playgroud)

如果没有截图则没关系,因为如果所有测试都通过则没有截屏.

jenkins jenkins-pipeline

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

使用 Dropwizard 时配置 Jackson 映射器

我想在Dropwizard应用程序的上下文中使用Java 8 java.time和 Jersey/Jackson 。我知道我需要使用jackson-modules-java8并配置映射器对象。

但是我如何配置 Jersey 的自动映射器来为我反序列化传入的 JSON?即我会在哪里做mapper.registerModule(new JavaTimeModule());

为了说明当前情况,这里是一个表示传入 JSON 的示例类:

public class Example {
  // Want to use java.time instead
  private Date date;
  private final String ISO_OFFSET_DATE_TIME = "YYYY-MM-DD'T'HH:mm:ssZ";

  @JsonCreator
  public Example(@JsonProperty("date") 
                 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = ISO_OFFSET_DATE_TIME) 
                 Date date) {
    this.date = date;
  }

  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = ISO_OFFSET_DATE_TIME)
  public Date getDate() {
    return date;
  }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,它使用了较旧的 Date API。Jersey 资源如下所示:

@Path("/example")
@Consumes(MediaType.APPLICATION_JSON)
public class ExampleResource { …
Run Code Online (Sandbox Code Playgroud)

json jersey jackson dropwizard

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

Marathon如何限制直接调用应用程序的资源?

我正在尝试使用Mesos + Marathon,并通过创建一个由shell脚本组成的小"app"开始简单,该脚本循环每5秒无限地记录一次消息.当我配置该应用程序时,我可以分配各种内存和CPU资源,这引出了我的问题:

如果Marathon直接生成shell脚本,那么它如何限制脚本资源的使用?该脚本可以执行并启动任何内容以消耗所有可用资源.

我知道Docker或其他一些隔离机制会限制进程可以做什么,但我没有配置它(显式).它是否在运行中创建某种容器而不必显式配置?我在OS X上测试.

marathon mesos

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

单引号用法,例如文档中的Git commit refs

例如,这个问题,有如下图

M1  - M2 - M3
   \         \
    \         \
     A1 - A2   A1' - A2'
Run Code Online (Sandbox Code Playgroud)

什么是对A1和A2,即单引号A1'A2',在这种情况下呢?

git

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

Rubocop:使用下一个跳过迭代

Style/Next: Use next to skip iteration.从Rubocop 获得了执行以下操作的代码(使用一个非常人为的示例):

tasks_running = [{ name: 'task1', done: false }, { name: 'task2', done: false }]
tasks_done = []

tasks_running.each do |task|
  if task[:done]
    unless tasks_done.include? task
      tasks_done << task
      next
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

正在使用next跳过仅在嵌套条件内的迭代。我不太了解如何满足此条件。

ruby rubocop

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