commerceguys/platform-cli

此软件包已被弃用且不再维护。作者建议使用 platformsh/cli 软件包。

Platform.sh CLI

v3.76.0 2022-01-28 16:38 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:34:44 UTC


README

Platform.sh CLIPlatform.sh 的官方命令行界面。使用此工具与您的 Platform.sh 项目进行交互,并在本地进行开发。

Build Status License

要求

  • 操作系统:Linux、OS X 或 Windows 10
  • PHP 5.5.9 或更高版本,以下扩展:curljsonmbstringpcrephar。安装命令将检查这些。
  • Git
  • 类似 Bash 的 shell
    • 在 OS X 或 Linux/Unix 上:SH、Bash、Dash 或 ZSH - 通常内置的 shell 就可以工作。
    • 在 Windows 上:Windows Subsystem for Linux(推荐),或其他与 Bash 兼容的 shell,如 Git Bash、Cygwin 或 MinGW。内置的命令提示符也可能适用于大多数目的。
  • 对于本地构建,您的项目的依赖项,例如。

安装

运行此命令以安装 CLI

curl -sS https://platform.sh/cli/installer | php

在某些 Windows 终端中,您可能需要 php.exe 而不是 php

手动安装

  1. 最新版本 下载 platform.phar 文件。

  2. 将文件重命名为 platform,确保它是可执行的,并将其移动到您的 PATH 目录中。

  3. 启用自动完成和 shell 别名

     platform self:install
    

更新

CLI 的新版本定期发布。使用此命令更新

platform self:update

用法

您可以在 shell 中通过键入 platform 来运行 Platform.sh CLI。

platform

使用 'list' 命令获取可用选项和命令列表

platform list

认证

有两种认证方式

  1. 推荐的方式是 platform login,它允许您通过网页浏览器进行登录,包括通过 Google、GitHub、GitLab 和 Bitbucket 等第三方提供商。

  2. 如果使用浏览器不可行,请使用 API 令牌

    为此提供了交互式命令:platform auth:api-token-login

    对于非交互式使用,例如脚本或CI系统,请将API令牌设置在名为PLATFORMSH_CLI_TOKEN的环境变量中。如果不妥善处理,这可能会不安全,尽管它适用于CircleCI、Jenkins和GitLab等系统。

    警告:API令牌可以充当创建它的账户,没有任何限制。请使用单独的机器账户来限制令牌的访问。

自定义

您可以通过用户配置文件~/.platformsh/config.yaml配置CLI。以下是一些可能的键及其默认值

api:
  # Whether to disable the docker-credential-helpers credential storage method.
  # When enabled (default), and if supported, credentials are stored in:
  #   - OS X: the default keychain
  #   - Linux: the default collection in the Secret Service
  #   - Windows: the Credential Manager under "Generic Credentials"
  # When disabled or not supported, credentials are stored in a hidden file.
  disable_credential_helpers: false

application:
  # The default timezone for times displayed or interpreted by the CLI.
  # An empty (falsy) value here means the PHP or system timezone will be used.
  # For a list of timezones, see: https://php.ac.cn/manual/en/timezones.php
  timezone: ~

  # The default date format string, for dates and times displayed by the CLI.
  # For a list of formats, see: https://php.ac.cn/manual/en/function.date.php
  date_format: c

  # A directory (relative to the home directory) where the CLI can write
  # user-specific files, for storing state, logs, credentials, etc.
  writable_user_dir: '.platformsh'

local:
  # Set this to true to avoid some Windows symlink issues.
  copy_on_windows: false

  # Configure the Drush executable to use (defaults to 'drush').
  drush_executable: null

updates:
  # Whether to check for automatic updates.
  check: true

  # The interval between checking for updates (in seconds). 604800 = 7 days.
  check_interval: 604800

其他自定义可通过环境变量实现

  • PLATFORMSH_CLI_DEBUG:设置为1以启用cURL调试。警告:这将打印终端中的所有请求信息,包括敏感的访问令牌。
  • PLATFORMSH_CLI_DEFAULT_TIMEOUT:大多数单个API请求的超时时间(以秒为单位)。默认为30。
  • PLATFORMSH_CLI_DISABLE_CACHE:设置为1以禁用缓存
  • PLATFORMSH_CLI_HOME:覆盖主目录(其中存储.platformsh目录)
  • PLATFORMSH_CLI_NO_COLOR:设置为1以禁用输出中的颜色
  • PLATFORMSH_CLI_NO_INTERACTION:设置为1以禁用交互(对于脚本很有用)。警告:这将绕过任何确认问题。
  • PLATFORMSH_CLI_SESSION_ID:更改用户会话(默认为'default')。现在,session:switch命令(beta版)也可以作为替代方案使用。
  • PLATFORMSH_CLI_SHELL_CONFIG_FILE:指定安装程序应写入的shell配置文件(作为绝对路径)。如果未设置,则将自动选择类似~/.bashrc的文件。将其设置为空字符串以禁用写入shell配置文件。
  • PLATFORMSH_CLI_TOKEN:API令牌。警告:API令牌可以充当创建它的账户,没有任何限制。请使用单独的机器账户来限制令牌的访问。此外,将秘密存储在环境变量中可能不安全。最好使用auth:api-token-login命令。在CI系统(如Jenkins和GitLab)中,环境变量更可取。
  • PLATFORMSH_CLI_UPDATES_CHECK:设置为0以禁用自动更新检查
  • PLATFORMSH_CLI_AUTO_LOAD_SSH_CERT:设置为0以禁用在运行登录或SSH命令时自动加载SSH证书
  • CLICOLOR_FORCE:设置为1或0以强制启用或关闭彩色输出
  • http_proxyhttps_proxy:指定连接到Platform.sh的代理

已知问题

缓存

CLI会缓存您项目和它们的环境的详细信息以及一些其他信息。这些缓存可能会过时。您可以使用platform clear-cache命令(或简写为platform cc)清除缓存。

贡献

有关如何为CLI做出贡献,请参阅CONTRIBUTING.md