小编Ser*_*kov的帖子

如何在Artifactory中触发Jenkins构建新工件?

Artifactory可以在Jenkins中用作"SCM"或源来触发特定工件部署的构建吗?

在Artifactory Jenkis插件描述中(和Jenkins方面)看不到(或遗漏)类似的东西

例如,如果只能访问Artifactory存储库,而不是使用二进制文件来自的代码的SCM,则可能需要这样做.

这些功能似乎适用于Nexus(通过nexus-webhook-plugin).很难相信Artifactory缺少此功能.

artifactory jenkins

11
推荐指数
2
解决办法
7453
查看次数

动态创建的Copy类型任务始终是UP-TO-DATE

我准备了一个非常简单的脚本,它说明了我使用Gradle 1.7看到的问题(需要坚持使用它,因为有些插件还没有支持更新的版本).

我正在尝试动态创建任务,每个任务对应于项目目录中的文件.这样可以正常工作,但是我创建的任务永远不会在我为其分配类型"复制"时执行.

这是我的问题build.gradle:

file('templates').listFiles().each { File f ->

    // THIS LINE DOES NOT WORK
    task "myDist-${f.name}" (type: Copy) {

    // NEXT LINE WORKS
    //task "myDist-${f.name}" {
        doLast {
            println "MYDIST-" + f.name
        }
    }
}

task distAll(dependsOn: tasks.matching { Task task -> task.name.startsWith("myDist")}) {
    println "MYDISTALL"
}

defaultTasks 'distAll'
Run Code Online (Sandbox Code Playgroud)

通过这种方式,当我简单地调用默认任务调用时,我的任务不会被执行gradle:

MYDISTALL
:myDist-template1 UP-TO-DATE
:myDist-template2 UP-TO-DATE
:distAll UP-TO-DATE

BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)

如果我Copy从动态任务中删除类型(取消注释上面的行),我的任务就会被执行:

MYDISTALL
:myDist-template1
MYDIST-template1
:myDist-template2
MYDIST-template2
:distAll

BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)

(您需要templates在所在的同一目录中创建一个文件夹名称build.gradle,并将几个空文件放入其中以便运行测试) …

gradle build.gradle

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

Spring Data Mongodb findBy在不区分大小写的情况下

我正在尝试创建一个Spring Data MongoDB存储库方法,该方法可以对给定列表中的字段执行不区分大小写的搜索,这类似于SQL'IN'运算符.

在我的存储库中,我有以下方法:

User findByUsername(@Param("username") String username);
User findByUsernameIgnoreCase(@Param("username") String username);
Page<User> findByUsernameIn(@Param("username") List<String> username, Pageable pageable);
Page<User> findByUsernameIgnoreCaseIn(@Param("username") List<String> username, Pageable pageable);
Page<User> findByUsernameInIgnoreCase(@Param("username") List<String> username, Pageable pageable);
Page<User> findByUsernameInAllIgnoreCase(@Param("username") List<String> username, Pageable pageable);
Run Code Online (Sandbox Code Playgroud)

我也将存储库作为REST资源使用 @RepositoryRestResource

前三种方法的效果非常好,正如我所料.使用时,搜索会忽略该案例findByUsernameIgnoreCase.使用给定的字符串列表找到用户的相关性findByUsernameIn.

我的问题是我不能组合InIgnoreCase后缀.最后两种方法也有效,但它们不会忽略字符串的大小写,因为我希望它们能够做到.

有没有办法执行不区分大小写的IN搜索而不是回退到显式指定MongoDB @Query

(尝试使用spring-data-mongodb:1.8.4,spring-data-rest-core:2.4.4)

spring-data spring-data-rest spring-data-mongodb

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

为什么Window函数失败并且"Window function X不采用帧规范"?

我正在尝试在pyspark 1.4.1中使用Spark 1.4 窗口函数

但主要是错误或意外结果.这是一个我认为应该工作的非常简单的例子:

from pyspark.sql.window import Window
import pyspark.sql.functions as func

l = [(1,101),(2,202),(3,303),(4,404),(5,505)]
df = sqlContext.createDataFrame(l,["a","b"])

wSpec = Window.orderBy(df.a).rowsBetween(-1,1)

df.select(df.a, func.rank().over(wSpec).alias("rank"))  
    ==> Failure org.apache.spark.sql.AnalysisException: Window function rank does not take a frame specification.

df.select(df.a, func.lag(df.b,1).over(wSpec).alias("prev"), df.b, func.lead(df.b,1).over(wSpec).alias("next"))  
    ===>  org.apache.spark.sql.AnalysisException: Window function lag does not take a frame specification.;


wSpec = Window.orderBy(df.a)

df.select(df.a, func.rank().over(wSpec).alias("rank"))
    ===> org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException: One or more arguments are expected.

df.select(df.a, func.lag(df.b,1).over(wSpec).alias("prev"), df.b, func.lead(df.b,1).over(wSpec).alias("next")).collect()

    [Row(a=1, prev=None, b=101, next=None), Row(a=2, prev=None, b=202, next=None), Row(a=3, prev=None, b=303, next=None)] …
Run Code Online (Sandbox Code Playgroud)

window-functions apache-spark apache-spark-sql pyspark pyspark-sql

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

Java 7 和 8 中的 32 位堆优化

如果我错了,请纠正我,但据我了解,从 Oracle HotSpot JVM 1.7 开始,64 位版本的 JVM 无法再以“32 位”模式运行(-d32 命令行参数)。

我听说,如果 JVM 进程配置的最大堆小于 32Gb,JVM 会通过保留 32 位指针等自动优化内存使用。这是正确的吗?这是否仍然适用于 64 位 Oracle HotSpot JVM?如果是,我该如何关闭此行为并禁用 32 位内存优化?

谢谢你!

java jvm

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

使用 Gradle 下载传递依赖项

我的 Gradle 项目依赖于 Jar 工件。我想将依赖 Jar 及其自己的依赖项(对于主项目可传递)下载到临时构建文件夹中:

configurations {
    myConfig { transitive = true }
}

dependencies {
    myConfig "my-group:my-artifact:0.1.0.BUILD-SNAPSHOT"
}

task copyMyLibs(type: Copy) {
    from configurations.myConfig
    into temporaryDir
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在 build/tmp/copyMyLibs 文件夹中只得到 my-artifact.jar 文件。我也想看到“my-group:my-artifact:0.1.0.BUILD-SNAPSHOT”的依赖关系。

在 Gradle 中表达这一点的最简洁的方式是什么?

谢谢!

dependencies gradle

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

带有列表参数的Spring Cloud Feign Client @RequestParam创建了错误的请求

我有一个Spring Clound Feign Client映射,定义如下

@RequestMapping(method = RequestMethod.GET, value = "/search/findByIdIn")
Resources<MyClass> get(@RequestParam("ids") List<Long> ids);
Run Code Online (Sandbox Code Playgroud)

当我打电话

feignClient.get(Arrays.asList(1L,2L,3L))
Run Code Online (Sandbox Code Playgroud)

根据我在调试器中看到的内容,伪内核库形成以下请求:

/search/findByIdIn?ids=1&ids=2&ids=3
Run Code Online (Sandbox Code Playgroud)

而不是预期的

/search/findByIdIn?ids=1,2,3
Run Code Online (Sandbox Code Playgroud)

对于以与Feign客户端方法相同的方式声明的服务器Spring Data REST端点,这将是正确的。

因此,由于这个问题,请求总是返回空集。

我也看到过类似的问题,但好像Feign客户正在按我期望的那样在2015年就在工作。

我在用:

  • spring-cloud-starter-feign版本1.2.4.RELEASE
  • feign-httpclient版本9.4.0
  • 虚拟内核版本9.4.0

有没有一种方法可以纠正这种行为,并将Spring Cloud Feign Client与Spring Data REST定义的端点“结合”?

spring-cloud netflix-feign spring-cloud-feign feign spring-cloud-netflix

4
推荐指数
2
解决办法
5058
查看次数