tw
是命令行上的 Seqera 平台。它将管道、操作和计算环境等 Seqera 概念引入终端。
Seqera Platform 是一个用于管理数据管道和计算资源的全栈应用程序。它支持在本地或任何云中进行大规模协作数据分析。
CLI 与 Seqera 交互,提供启动管道、管理云资源和管理分析的界面。
主要特点是:
类似 Nextflow 的体验:tw CLI 提供了一个开发人员友好的环境。管道可以使用类似于 Nextflow 的 CLI 启动,但具有 Seqera 的监控、日志记录、资源配置、数据集管理和协作共享的优势。
基础设施即代码:所有 Seqera 资源,包括管道和计算环境,都可以以声明性方式描述。这使得可以对分析环境进行完整定义,并可以将其作为代码进行版本控制和处理。它极大地简化了配置共享和日常管理。
基于 OpenAPI 构建:tw CLI 通过使用 OpenAPI 3.0 规范的 Seqera Platform API 与 Seqera 交互。 CLI 提供对 Seqera 应用程序的完全控制,使用户能够最大限度地了解管道提交和执行环境。
请参阅 Seqera 平台文档以了解有关该应用程序的更多信息。
tw CLI 可以安装在 macOS、Windows 和 Linux 上。
它与 Seqera Cloud 和 Enterprise 版本 21.08 及更高版本兼容。
本指南涵盖 CLI 的安装和配置、云基础设施预置以及将管道启动到 AWS Batch 计算环境。
从发布页面上的资产下载适合您的操作系统的最新版本。
重命名并使文件可执行:
mv tw- * tw
chmod +x ./tw
将文件移动到$PATH
变量可访问的目录:
sudo mv tw /usr/local/bin/
您需要 CLI 的访问令牌才能与 Seqera 实例交互。从 Seqera UI 的用户菜单中选择用户令牌,然后选择添加令牌以创建新令牌。
复制访问令牌值并通过以下两种方式之一将其与 CLI 一起使用:
环境变量:
将令牌作为 shell 变量直接导出到终端中:
export TOWER_ACCESS_TOKEN= < your access token >
将export
命令添加到您的.bashrc
、 .zshrc
或.bash_profile
文件中,以便将其永久添加到您的环境中。
tw 命令标志:
使用--access-token
直接在tw
命令中提供访问令牌:
tw --access-token= < your access token > < other options >
如果需要,请使用与上述相同的方法配置以下非强制环境变量:
TOWER_WORKSPACE_ID
:工作区 ID。默认:用户工作区。TOWER_API_ENDPOINT
:Seqera API URL。默认值: api.cloud.seqera.io
。您可以从组织页面的“工作区”选项卡中找到您的
TOWER_WORKSPACE_ID
。或者,您可以使用tw workspaces list
列出您的令牌可以访问的所有工作区,并从命令输出中复制工作区 ID。
确认安装、配置和连接:
$ tw info
System health status
---------------------------------------+------------------
Remote API server connection check | OK
Tower API version check | OK
Authentication API credential's token | OK
tw
CLI 命令有关使用 CLI 的详细说明,请参阅用法。
使用以下命令在当前会话中激活自动完成功能:
source <( tw generate-completion )
如果您使用默认 Java 证书颁发机构无法识别的私有 CA SSL 证书,请使用自定义cacerts
存储:
tw -Djavax.net.ssl.trustStore=/absolute/path/to/cacerts info
您可以将二进制文件重命名为tw-binary
并创建一个tw
脚本以自动在每个会话中包含自定义cacerts
存储:
#! /usr/bin/env bash
tw-binary -Djavax.net.ssl.trustStore=/absolute/path/to/cacerts $@
tw CLI 是一个平台二进制可执行文件,由 Java GraalVM 的本机编译创建。要编译并构建二进制文件的开发版本:
如果需要,请安装SDKMan!
从 tower-cli 项目的根目录中,安装 GraalVM:
sdk env install
这可确保 SDKMan 使用 tower-cli 项目特定的.sdkmanrc
配置。
安装native-image
:
gu install native-image
导出您的 Github 凭据。 Github 需要对公共包进行身份验证(令牌仅需要read:packages
范围):
export GITHUB_USERNAME=...
export GITHUB_TOKEN=...
创建本机客户端:
./gradlew nativeCompile
这将在 nativeCompile 目录中安装本地编译的tw
版本:
Produced artifacts:
<tower-cli-repository-root>/build/native/nativeCompile/tw (executable)
========================================================================================================================
Finished generating 'tw' in 1m 6s.
[native-image-plugin] Native Image written to: <tower-cli-repository-root>/build/native/nativeCompile
BUILD SUCCESSFUL in 1m 8s
6 actionable tasks: 2 executed, 4 up-to-date
运行tw
:
./build/native/nativeCompile/tw
通过执行此存储库根目录中的./tw
脚本来运行非二进制开发版本。
阿帕奇2.0