Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework IBM Bluemix交付管道上的SBT支持_Playframework_Playframework 2.0_Ibm Cloud_Devops Services - Fatal编程技术网

Playframework IBM Bluemix交付管道上的SBT支持

Playframework IBM Bluemix交付管道上的SBT支持,playframework,playframework-2.0,ibm-cloud,devops-services,Playframework,Playframework 2.0,Ibm Cloud,Devops Services,我想将PlayFramework应用程序集成到服务中。在生成阶段创建新作业时,我有一个受支持的生成器类型列表: Play应用程序使用SBT进行构建,但它不在列表中。如果我使用Shell脚本选项并调用某个sbt命令,那么作业显然会失败,并显示错误消息sbt:command not found 有没有办法在执行生成的环境中安装sbt?首先,介绍一下使用连续交付运行管道作业时发生的情况。在作业配置的自定义脚本字段中放置的所有内容都将在新容器中执行。此容器在作业执行时使用IBM提供的基本映像进行站立。上

我想将PlayFramework应用程序集成到服务中。在生成阶段创建新作业时,我有一个受支持的生成器类型列表:

Play应用程序使用SBT进行构建,但它不在列表中。如果我使用Shell脚本选项并调用某个sbt命令,那么作业显然会失败,并显示错误消息sbt:command not found


有没有办法在执行生成的环境中安装sbt?

首先,介绍一下使用连续交付运行管道作业时发生的情况。在作业配置的自定义脚本字段中放置的所有内容都将在新容器中执行。此容器在作业执行时使用IBM提供的基本映像进行站立。上述基础映像中未包含的任何内容都不会在管道作业中可用,至少不会开箱即用

现在,由于所述基本映像不包括SBT,您必须下载它并手动将其添加到您的路径中。下面是一个脚本,你可以使用它

#!/bin/bash
wget --output-document=/tmp/sbt.tgz https://github.com/sbt/sbt/releases/download/v1.0.0/sbt-1.0.0.tgz
tar -xvf /tmp/sbt.tgz --directory=/tmp
export PATH="/tmp/sbt/bin:$PATH"
chmod +x /tmp/sbt
// Run sbt commands below here
注意:我不熟悉SBT及其配置方式,但您可能需要在容器上使用Java运行时来支持您正在使用SBT的scala版本。包括Java7和8,默认值为7。要切换到Java8,可以在作业脚本中包含以下内容:

#!/bin/bash
export JAVA_HOME=$JAVA8_HOME
export PATH="$JAVA_HOME/bin/:$PATH"
java -version # Verify that we are using java8 runtime

您确定使用的是传送管道服务而不是连续传送服务吗?截止2017年7月5日,交付管道服务已达到支持结束。请参阅:请使用连续送货服务作为替代。请参阅:在Bluemix控制台上,它被称为交付管道。我创建了一个工具链,并在管道的交付阶段添加了一个名为交付管道的服务。另一方面,它看起来与此处的屏幕截图完全相同:。在屏幕截图上,它也被称为交付管道,但本文是关于Bluemix连续交付的。第二句话声明它包括您可能熟悉的几个组件,包括交付管道。所以DP。是CD的一部分。不管它叫什么,我只能在Bluemix控制台上找到一个服务,它似乎不支持SBT。非常好,谢谢。基本上它很好地解决了这个问题。另一方面,容器似乎既没有在一个阶段的作业之间重复使用,也没有在两个阶段之间重复使用,在每个作业中下载和安装sbt都是浪费时间。是否可以在作业或阶段之间重复使用容器?不幸的是,在产品的当前状态下,这是不可能的,每次执行作业时,您都会得到一个新的容器。我们正在增加对可重用/自定义图像的支持,但我无法评论该功能目前的时间表。我唯一的建议是尝试根据容器中所需的依赖项对操作进行分组。也就是说,您可以将所有与SBT相关的操作分组到逻辑上合理的最少数量的作业中,这样您就不必浪费那么多时间下载SBT包本身。理论上它应该可以工作,但实际上在SBT编译期间发生了某种未经处理的异常,我不知道如何调试它。相关问题: