【问题标题】:Execute Nexus 3 embedded groovy执行 Nexus 3 嵌入式 groovy
【发布时间】:2016-12-06 20:36:28
【问题描述】:

我想使用 Nexus 3 的嵌入式 groovy,而不是安装安装 openjdk java 的 groovy 包。有没有简单的方法可以做到这一点?

我想使用嵌入式 groovy 运行这个命令:

groovy addUpdateScript.groovy -u "admin" -p "admin123" -n "raw" -f "rawRepositories.groovy" -h "http://localhost:8081"

这是为 Nexus3 Chef 食谱添加 groovy 脚本支持: https://supermarket.chef.io/cookbooks/nexus3

【问题讨论】:

    标签: groovy nexus sonatype nexus3


    【解决方案1】:

    嵌入在 Nexus Repository Manager 中的 groovy 完全可以在应用程序的类路径中使用。安装客户端 groovy 系统或使用使用简单 bash 命令的 shell 脚本上传 groovy 脚本会更容易。示例也是脚本示例的一部分。您可以在 https://github.com/sonatype/nexus-book-examples/tree/nexus-3.x/scripting/simple-shell-example

    的示例存储库中找到它们

    我还在http://www.sonatype.org/nexus/2016/06/08/integrating-nexus-repository-3/ 上整理了一篇博文和视频演示

    希望对你有帮助。

    【讨论】:

    • 所以你是说我可以像这样通过 curl PUT 将内容类型切换为 text/plain 来上传复杂的 groovy 脚本? curl -v -X PUT -u admin:admin123 --header "Content-Type: text/plain" "localhost:8081/service/siesta/rest/v1/script/$name" -d @$myComplexGroovyFile
    • 是的。在 repo 中有用于创建、删除和运行作业的示例 shell 脚本。还有更多,并查看视频演示以查看它们的实际效果。
    • 谢谢,我会试试的。我已经看过这些视频,但没有意识到我也可以上传一个 groovy 文件。我认为它必须只是一个 json 文件。我确实参考了视频和脚本:github.com/dhoer/chef-nexus3/tree/master/…。感谢您将这些演示文稿和示例放在那里。我希望在厨师资源中添加更多示例,例如 ldap config 等。
    • 那行不通。当文本/纯内容类型时,我收到“415 不支持的媒体类型”错误。目标是不需要安装 groovy 包,因为它会安装 OpenJDK。
    • 您必须制作包含 groovy 脚本的 json 文件并像在视频中一样上传它们。当你这样做时它工作正常。
    【解决方案2】:

    在 Nexus 3.10 中,您可以免费获得 Groovy 2.4.11,地址为 $NEXUS_HOME/nexus-3.10.0-04/system/org/codehaus/groovy/groovy-all/2.4.11

    你可以写一个测试脚本:

    println "hello world"
    

    并执行它

    java -jar groovy-all-2.4.11.jar printme.groovy
    

    当然你还需要一个 JDK/JRE ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-21
      • 2017-12-20
      • 1970-01-01
      • 2018-01-17
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      相关资源
      最近更新 更多