要查看Cromwell命令行用法的内置文档,请不带参数运行Cromwell JAR文件:

$ java -jar cromwell-.jar

您将看到类似以下的使用说明信息:

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的服务器模式和运行模式可以分别通过serverrun参数调用。有关这些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 选项会打印上述完整帮助文本并退出。