如何自动部署Spring Data Flow?

时间:2017-06-16 12:34:07

标签: spring deployment configuration spring-cloud-dataflow

我有一个Spring Cloud数据流实例,我需要我的应用程序和流。我甚至编写了在命令shell中工作的脚本,以便立即部署所有这些东西。问题是我现在有一个手动步骤,而不是让它开箱即用。

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

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

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

但是,我看不到任何类似存在的文档。我能找到的每个选项都没有运行脚本并保持shell打开。或者是否有另一种我完全不知道的选择。在过去的6年中,我的.Net经历了15年的中断,而且看起来与以前完全不同。

3 个答案:

答案 0 :(得分:3)

有时候我是个傻瓜。在昨天整天搜索之后,我突然想到使用--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选项时,它确实完成了我需要shell执行的操作:运行脚本并结束。

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

注意:Spring网站上的文档根本没有提到这一点。如果这可以通过Spring Config Server完成,我也想了解它。

答案 1 :(得分: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中的原语,用于应用程序级别的金丝雀,应用程序的版本控制以及配置服务器支持的定义。

答案 2 :(得分:1)

//Start spring cloud dataflow server
    //create the file 
    //file name:Task_scripts.shell and inside file bas the below command
    app register --name PredictionBatchTest --type task --uri file://D:/PredictionBatch/target/PredictionBatch-0.0.1-SNAPSHOT.jar
    //Create the shell script file and add below command and execute the shell script
    java -jar scdf-shell-1.6.3.RELEASE.jar --spring.shell.commandFile=D:/my-awesome-script.shell