要查看Cromwell命令行用法的内置文档,请不带参数运行Cromwell JAR文件:
$ java -jar cromwell-
您将看到类似以下的使用说明信息:
cromwell 29
Usage: java -jar /path/to/cromwell.jar [server|run] [options] <args>...
--help Cromwell - Workflow Execution Engine
--version
Command: server
Starts a web server on port 8000. See the web server documentation for more details about the API endpoints.
Command: run [options] workflow-source
Run the workflow and print out the outputs in JSON format.
workflow-source Workflow source file or workflow url .
--workflow-root <value> Workflow root
-i, --inputs <value> Workflow inputs file.
-o, --options <value> Workflow options file.
-t, --type <value> Workflow type.
-v, --type-version <value>
Workflow type version.
-l, --labels <value> Workflow labels file.
-p, --imports <value> A zip file to search for workflow imports.
-m, --metadata-output <value>
An optional JSON file path to output metadata.
Cromwell的服务器模式和运行模式可以分别通过server和run参数调用。有关这些Cromwell模式的更多信息,请参阅Modes。
Cromwell的jar文件可以按照构建中的描述进行构建。
server
server 模式不接受任何参数,并将Cromwell作为接受REST请求的Web服务器运行。这是大多数Cromwell应用的默认模式,适合生产环境使用。Cromwell通过Swagger自动生成API文档,可在http://localhost:8000或等效地址查看(具体取决于您的配置)。
run
run 模式会在Cromwell中执行单个工作流后退出。该模式专为本地原型开发或演示设计,与server模式相比功能有限。
-
workflow-source
唯一必需的参数。可以是本地路径,也可以是指向工作流源文件的远程URL。 -
--inputs
一个可选的工作流输入文件。虽然可选,但最佳实践是使用输入文件来满足工作流需求,而不是直接将输入硬编码到工作流源文件中。 -
--options
一个可选的工作流选项文件。某些选项是全局的(所有后端都支持),而其他选项是特定于后端的。详情请参阅工作流选项。 -
--type
一个可选参数,用于指定工作流源的语言。从Cromwell 29开始,为该参数指定的任何值当前都会被忽略,内部会使用WDL值。 -
--type-version
一个可选参数,用于指定工作流源的语言版本。当前任何指定的值都会被忽略。 -
--labels
一个可选参数,用于指定包含JSON键值标签对的文件,这些标签将与工作流关联。 -
--imports
您可以选择导入WDL工作流或任务在您的工作流中使用,这些被称为子工作流。 如果您在主工作流中使用子工作流,那么您必须包含一个包含WDL导入文件的ZIP文件。 有关更多信息,请参阅Imports文档。 -
--metadata-output
您可以指定一个文件名,Cromwell将在此文件中写入工作流元数据JSON,包括开始/结束时间戳、状态、输入和输出。默认情况下Cromwell不会写入工作流元数据。--metadata-output文件中的元数据格式与/metadata端点描述的格式相同。 -
--version
--version选项会打印Cromwell的版本号并退出。 -
--help
--help选项会打印上述完整帮助文本并退出。