您如何自动部署 Spring 数据流?
How do you automate deploying Spring Data Flow?
我有一个 Spring Cloud Data Flow 的实例支持我需要的应用程序和流。我什至编写了在命令 shell 中运行的脚本,以一次部署所有这些东西。问题是我现在需要手动执行一个步骤,而不是开箱即用 运行。
同时使用 Windows 和 Linux 我知道如何通过 shell 运行 脚本并在脚本为 运行 时结束它。
问题是我似乎无法对 Spring 数据流 Shell 做同样的事情。我想做这样的事情:
java -jar spring-cloud-dataflow-shell.jar --runScript my-awesome-script.shell
但是,我看不到任何说明存在类似内容的文档。我能找到的每个选项都没有 运行 脚本并保持 shell 打开。或者是否还有另一种我完全不知道的选择。我 15 年的 Java 经验被过去 6 年的 .Net 打断了,Spring 看起来和以前完全不同了。
有时候我真是个笨蛋。昨天搜索了一整天后,我突然想到使用 --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 配置服务器完成,我也想知道。
除了 --spring.shell.commandFile
选项外,您还可以使用包含各种 stream/task 创建和部署命令的 dataflow:>script --file <YOUR_AWESOME_SCRIPT>
。我也看到用户为不同的环境对提交的文件工件进行版本控制。遗憾的是,这两个选项都没有记录,我们将修复它 (spring-cloud/spring-cloud-dataflow#1534)。
话虽如此,对于 SCDF 2.0,我们将添加受 Kubernetes Helm 启发的原生 CI/CD 支持。这将包括 SCDF shell/gui 中用于应用程序级金丝雀、应用程序版本控制以及配置服务器支持的定义的原语。
//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
我有一个 Spring Cloud Data Flow 的实例支持我需要的应用程序和流。我什至编写了在命令 shell 中运行的脚本,以一次部署所有这些东西。问题是我现在需要手动执行一个步骤,而不是开箱即用 运行。
同时使用 Windows 和 Linux 我知道如何通过 shell 运行 脚本并在脚本为 运行 时结束它。
问题是我似乎无法对 Spring 数据流 Shell 做同样的事情。我想做这样的事情:
java -jar spring-cloud-dataflow-shell.jar --runScript my-awesome-script.shell
但是,我看不到任何说明存在类似内容的文档。我能找到的每个选项都没有 运行 脚本并保持 shell 打开。或者是否还有另一种我完全不知道的选择。我 15 年的 Java 经验被过去 6 年的 .Net 打断了,Spring 看起来和以前完全不同了。
有时候我真是个笨蛋。昨天搜索了一整天后,我突然想到使用 --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 配置服务器完成,我也想知道。
除了 --spring.shell.commandFile
选项外,您还可以使用包含各种 stream/task 创建和部署命令的 dataflow:>script --file <YOUR_AWESOME_SCRIPT>
。我也看到用户为不同的环境对提交的文件工件进行版本控制。遗憾的是,这两个选项都没有记录,我们将修复它 (spring-cloud/spring-cloud-dataflow#1534)。
话虽如此,对于 SCDF 2.0,我们将添加受 Kubernetes Helm 启发的原生 CI/CD 支持。这将包括 SCDF shell/gui 中用于应用程序级金丝雀、应用程序版本控制以及配置服务器支持的定义的原语。
//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