2017-06-16 43 views
1

我有一个Spring云数据流的实例,它支持我需要的应用程序和流。我甚至编写了在命令外壳中工作的脚本,以便一次部署所有这些东西。问题是我现在有一个手动步骤,我需要做,而不是仅仅让它开箱即用。如何自动部署Spring Data Flow?

对于Windows和Linux,我知道如何通过shell运行脚本,并在脚本运行时结束脚本。

问题是,我似乎可以用Spring Data Flow Shell做同样的事情。我想要做这样的事情:

java -jar spring-cloud-dataflow-shell.jar --runScript my-awesome-script.shell 

不过,我看不到,说这样的事情存在任何文件。我能找到的每个选项都没有运行脚本并保持壳体打开。或者还有另一种选择,我不知道。在过去的6年里,我的Java经历被15年的Java打断,Spring看起来与以前完全不同。

回答

1

有时候我就是这样一个数字。在昨天整天搜索它之后,我发现使用--help选项可以获得shell的命令行选项。

C:\Dev>java -jar spring-cloud-dataflow-shell-1.2.1.RELEASE.jar --help 
Data Flow Options: 
    --dataflow.uri=<uri>        Address of the Data Flow Server [default: http://localhost:9393]. 
    --dataflow.username=<USER>      Username of the Data Flow Server [no default]. 
    --dataflow.password=<PASSWORD>     Password of the Data Flow Server [no default]. 
    --dataflow.credentials-provider-command=<COMMAND> Executes an external command which must return an OAuth Access Token [no default]. 
    --dataflow.skip-ssl-validation=<true|false>  Accept any SSL certificate (even self-signed) [default: no]. 
    --spring.shell.historySize=<SIZE>     Default size of the shell log file [default: 3000]. 
    --spring.shell.commandFile=<FILE>     Data Flow Shell executes commands read from the file(s) and then exits. 
    --help           This message. 

当我尝试了--spring.shell.commandFile选项,这也正是我所需要的壳里做:运行脚本和结束。

java -jar spring-cloud-data-flow-shell.jar --spring.shell.commandFile=my-awesome-script.shell 

注意:Spring网站上的文档没有提到这一点。如果这是可以通过Spring Config Server完成的事情,那么我也想知道它。

1

除了--spring.shell.commandFile选项,您还可以使用dataflow:>script --file <YOUR_AWESOME_SCRIPT>,其中包含各种流/任务创建和部署命令。我已经看到用户也在不同的环境中版本化提交的文件工件。可悲的是,这两个选项都没有记录,我们会修复它(spring-cloud/spring-cloud-dataflow#1534)。这就是说,对于SCDF 2.0,我们将增加由Kubernetes Helm启发的原生CI/CD支持。这将包括SCDF的shell/gui中的原语,用于应用程序级别的canaries,应用程序的版本控制以及由config-server支持的定义。

+0

shell中的'script --file my-awesome-script.shell'命令是我在问问题之前的位置。我只是希望能够自动化部署和配置,而无需添加额外的步骤。谢谢你为我打开那张票。 Spring配置服务器是否有令人满意的故事来实质部署应用程序和流? –

+0

在一个不相干的笔记上:当我搜索到SCDF时,第一个反应是新加坡民防部队,第二个是南加州发展论坛......我们用完了缩略语:) –

+1

如果您要自动化部署流/任务,当前可用的选项是REST-API或DataflowTemplate,您必须直接与CI系统集成。一些客户通过Jenkins/Concourse实例化部署。对于每个应用程序,应用程序和绑定属性均在配置服务器支持的版本化YAML文件中进行配置。 –