命令行界面,用于 lamp.io 平台

0.1.4 2020-04-06 07:15 UTC

This package is auto-updated.

Last update: 2024-09-19 22:18:04 UTC


README

Build Status Latest Stable Version License

安装

作为全局 composer 安装
$ composer global require lamp-io/lio
作为本地 composer 包安装
composer require lamp-io/lio
作为 PHAR 下载

lio.phar

用法

lio command [options] [arguments]

身份验证

https://www.lamp.io/tokens 上生成令牌

lio 如何处理令牌

  1. 将令牌存储在环境变量中

    export LAMP_IO_TOKEN={TOKEN_VALUE}
  2. 将令牌存储在文件中

    调用 auth 命令,它会要求你输入令牌

    lio auth

    令牌将被存储在 $HOME/.config/lamp.io/token

命令

全局选项

  • [-j][--json] (bool) 以原始 json 格式输出
  • [-h][--help] (bool) 显示此帮助信息
  • [-q][--quiet] (bool) 不输出任何消息
  • [-V][--version] (bool) 显示此应用程序版本
  • [--ansi] (bool) 强制 ANSI 输出
  • [--no-ansi] (bool) 禁用 ANSI 输出
  • [-n][--no-interaction] (bool) 不提出任何交互式问题
  • [-v|vv|vvv][--verbose] (bool) 增加消息的详细程度:1 为正常输出,2 为更多详细输出,3 为调试

身份验证

  1. auth [-u][--update_token]

    设置身份验证令牌。

    在设置页面 https://www.lamp.io/ 获取您的令牌

    选项

    • [-u][--update_token] (bool) 更新现有令牌
    • [-t][--token] (string) 在非交互模式下设置/更新身份验证令牌

应用程序

  1. apps:new <organization_id> [-d][--description] [--httpd_conf] [--max_replicas] [-m][--memory] [--min_replicas] [--php_ini] [-r][--replicas] [--vcpu] [--github_webhook_secret] [--webhook_run_command] [--hostname] [--hostname_certificate_valid] [--public] [--delete_protection]

    创建一个新应用程序

    API 参考 https://www.lamp.io/api#/apps/appsCreate

    参数

    • [<organization_id>] (string) 该应用程序所属组织的 ID

    选项

    • [-d][--description] (string) 描述
    • [--httpd_conf] (string) httpd.conf 的路径
    • [--max_replicas] (int) 自动扩展副本的最大数量
    • [-m][--memory] (string) 可用内存量(例如:1Gi)(默认:128Mi)
    • [--min_replicas] (int) 自动扩展副本的最小数量(默认:1)
    • [--php_ini] (string) php.ini 的路径
    • [-r][--replicas] (int) 可用副本当前数量。0 停止应用程序(默认:1)
    • [--vcpu] (float) 可用虚拟 CPU 内核数(最大:4,最小:0.25)
    • [--github_webhook_secret] (string) Github web-hook 密钥令牌
    • [--webhook_run_command] (string) Github web-hook 命令
    • [--hostname] (string) 应用程序的域名
    • [--hostname_certificate_valid] (bool) 域名证书是否有效
    • [--public] (bool) 公开以供只读
    • [--delete_protection] (bool) 启用时,应用程序无法被删除
  2. apps:update <app_id> <organization_id> [-d][--description] [--httpd_conf] [--max_replicas] [-m][--memory] [--min_replicas] [--php_ini] [-r][--replicas] [--vcpu] [--vcpu] [--github_webhook_secret] [--webhook_run_command] [--hostname] [--hostname_certificate_valid] [--public] [--delete_protection]

    更新应用程序

    API 参考 https://www.lamp.io/api#/apps/appsCreate

    参数

    • <app_id> (string) 应用程序的 ID
    • [<organization_id>] (string) 该应用程序所属组织的 ID

    选项

    • [--httpd_conf] (string) httpd.conf 的路径
    • [--max_replicas] (int) 自动扩展副本的最大数量
    • [-m][--memory] (string) 可用内存量(例如:1Gi)(默认:128Mi)
    • [--min_replicas] (int) 自动扩展副本的最小数量(默认:1)
    • [--php_ini] (string) php.ini 的路径
    • [-r][--replicas] (int) 可用副本当前数量。0 停止应用程序(默认:1)
    • [--vcpu] (float) 可用虚拟 CPU 内核数(最大:4,最小:0.25)
    • [--github_webhook_secret] (string) Github web-hook 密钥令牌
    • [--webhook_run_command] (string) Github web-hook 命令
    • [--hostname] (string) 应用程序的域名
    • [--hostname_certificate_valid] (bool) 域名证书是否有效
    • [--public] (bool) 公开以供只读
    • [--delete_protection] (bool) 启用时,应用程序无法被删除
  3. apps:delete <app_id> [--yes][-y]

    删除应用程序

    API 参考 https://www.lamp.io/api#/apps/appsDestroy

    参数

    • <app_id> (string) 应用程序的 ID

    选项

    • [--yes][-y] (布尔) 跳过确认删除问题
  4. apps:list

    返回组织的应用

    API参考 https://www.lamp.io/api#/apps/appsList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
  5. apps:describe <app_id>

    返回您的应用

    API参考 https://www.lamp.io/api#/apps/appsShow

    参数

    • <app_id> (string) 应用程序的 ID

应用子命令

  1. apps:update:status <app_id> [--enable] [--disable]

    启用/禁用应用

    API参考 https://www.lamp.io/api#/apps/appsUpdate

    参数

    • <app_id> (string) 应用程序的 ID

    选项

    • [--enable] (布尔) 启用您的已停止应用
    • [--disable] (布尔) 禁用您的运行中的应用

自动部署

  1. autodeploys:new <github_repository> [--organization_id][-o] [--create_app_on_pr][-c] [--delete_app_on_branch_delete][-d]

    为组织创建自动部署

    API参考 https://www.lamp.io/api#/autodeploys/autoDeploysCreate

    参数

    • <github_repository> (字符串) 该自动部署使用的仓库

    选项

    • [-o][--organization_id] (字符串) 一个organization_id。如果省略,则默认为用户的默认组织
    • [-c][--create_app_on_pr] (布尔) 当创建PR时创建lamp.io应用
    • [-d][--delete_app_on_branch_delete] (布尔) 当删除分支时删除lamp.io应用
  2. autodeploys:update <autodeploy_id> [--github_repository][-g] [--organization_id][-o] [--create_app_on_pr][-c]

    更新自动部署

    API参考 https://www.lamp.io/api#/autodeploys/autoDeploysUpdate

    参数

    • <autodeploy_id> (字符串) 自动部署的ID

    选项

    • [-g][--github_repository] (字符串) 该自动部署使用的仓库
    • [-c][--create_app_on_pr] (布尔) 当创建PR时创建lamp.io应用
    • [-d][--delete_app_on_branch_delete] (布尔) 当删除分支时删除lamp.io应用
  3. autodeploys:delete <autodeploy_id>

    删除自动部署

    API参考 https://www.lamp.io/api#/autodeploys/autoDeploysDelete

    参数

    • <autodeploy_id> (字符串) 自动部署的ID
  4. autodeploys:list [--organization_id][-o]

    返回自动部署

    API参考 https://www.lamp.io/api#/autodeploys/autoDeploysList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
  5. autodeploys:describe

    返回自动部署

    API参考 https://www.lamp.io/api#/autodeploys/autoDeploysShow

    参数

    • <autodeploy_id> (字符串) 自动部署的ID

autodeploysBranch <app_id> <autodeploy_id> [--organization_id][-o]

  1. autodeploysBranch:new

    为组织创建autodeployBranch

    API参考 https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchCreate

    参数

    • <app_id> (字符串) 该分支部署到的应用的ID
    • <autodeploy_id> (字符串) 自动部署的ID
    • <branch> (字符串) 分支名称

    选项

    • [-o][--organization_id] (字符串) 一个organization_id。如果省略,则默认为用户的默认组织
  2. autodeploysBranch:update <autodeploy_branch_id> [--app_id][-a] [--branch][-b]

    更新autodeploys_branch

    API参考 https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchUpdate

    参数

    • <autodeploy_branch_id> (字符串) autodeployBranch的ID

    选项

    • [-a][--app_id] (字符串) 部署的应用的ID
    • [-b][--branch] (字符串) 分支名称
  3. autodeploysBranch:delete <autodeploy_branch_id>

    删除autodeploys_branch

    API参考 https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchDelete

    参数

    • <autodeploy_branch_id> (字符串) autodeployBranch的ID
  4. autodeploysBranch:list [--organization_id][-o]

    返回autodeploys_branch

    API参考 https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
  5. autodeploysBranch:describe <autodeploy_branch_id>

    返回 autodeploy_branch

    API参考 https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchShow

    参数

    • <autodeploy_branch_id> (字符串) autodeployBranch的ID

应用备份

  1. app_backups:new <app_id>

    备份应用文件

    API参考 https://www.lamp.io/api#/app_backups/appBackupsCreate

    参数

    • <app_id> (string) 应用程序的 ID
  2. app_backups:download <app_backup_id>

    下载应用备份

    API参考 https://www.lamp.io/api#/app_backups/appBackupsShow

    参数

    • <app_backup_id> (字符串) 应用备份的ID
    • [<dir>] (字符串) 下载文件的本地路径。(默认:当前工作目录)
  3. app_backups:delete <app_backup_id> [--yes][-y]

    删除应用备份

    API参考 https://www.lamp.io/api#/app_backups/appBackupsShow

    参数

    • <app_backup_id> (字符串) 应用备份的ID

    选项

    • [--yes][-y] (布尔) 跳过确认删除问题
  4. app_backups:list [-o][--organization_id]

    返回应用备份

    API参考 https://www.lamp.io/api#/app_backups/appBackupsList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
  5. app_backups:describe <app_backup_id>

    返回应用备份

    获取应用备份

    API参考 https://www.lamp.io/api#/app_backups/appBackupsShow

    参数

    • <app_backup_id> (字符串) 应用备份的ID

应用恢复

  1. app_restores:new <app_id> <app_backup_id>

    将文件恢复到应用中

    API参考 https://www.lamp.io/api#/app_restores/appRestoresCreate

    参数

    • <app_id> (string) 应用程序的 ID
    • <app_backup_id> (字符串) 应用备份的ID
  2. app_restores:delete <app_restore_id> [--yes][-y]

    删除应用备份

    API参考 https://www.lamp.io/api#/app_restores/appRestoresDelete

    参数

    • <app_restore_id> (字符串) 应用恢复的ID

    选项

    • [--yes][-y] (布尔) 跳过确认删除问题
  3. app_restores:list [-o][--organization_id]

    返回应用恢复

    API参考 https://www.lamp.io/api#/app_restores/appRestoresList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
  4. app_restores:describe <app_restore_id>

    返回应用恢复

    允许您获取应用备份,API参考 https://www.lamp.io/api#/app_backups/appRestoresShow

    参数

    • <app_restore_id> (字符串) 应用恢复的ID

应用运行

  1. app_runs:new <app_id>

    在应用上运行命令

    API参考 https://www.lamp.io/api#/app_backups/appRunsCreate

    参数

    • <app_id> (string) 应用程序的 ID
    • <exec> (字符串) 要运行的命令
  2. app_runs:delete <app_run_id>

    删除应用运行

    API参考 https://www.lamp.io/api#/app_runs/appRunsDelete

    参数

    • <app_run_id> (字符串) 应用运行的ID
  3. app_runs:list [--page_number] [--page_size] [--organization_id][-o] [--output_lines]

    返回所有用户组织的所有应用运行

    API参考 https://www.lamp.io/api#/app_runs/appRunsList

    选项

    • [--page_number] (整数) 分页页码,默认值 1
    • [--page_size] (整数) 每页数量,默认值 100
    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
    • [--output_lines] (整数) 返回的最大行数。1 是无限。默认 5
  4. app_runs:describe

    返回应用运行

    API参考 https://www.lamp.io/api#/app_runs/appRunsShow

    参数

    • <app_run_id> (字符串) 应用运行的ID

数据库

  1. databases:new [-d][--description] [-m][--memory] [-o][--organization_id] [--mysql_root_password] [--my_cnf] [--ssd] [--vcpu] [--delete_protection]

    创建新数据库

    API参考 https://www.lamp.io/api#/databases/databasesCreate

    选项

    • [-d][--description] (字符串) 您数据库的描述
    • [-m][--memory] (字符串) 您数据库上的虚拟内存量(默认:512Mi)
    • [-o][--organization_id] (字符串) 您的组织名称
    • [--mysql_root_password] (字符串) 您的mysql root密码
    • [--my_cnf] (字符串) 您数据库配置文件的路径
    • [--ssd] (字符串) ssd存储的大小(默认:1Gi)
    • [--vcpu] (浮点数) 可用的虚拟CPU核心数(默认:0.25)
    • [--delete_protection] (布尔值) 启用时,数据库不能被删除
  2. databases:delete <database_id> [--yes][-y]

    删除数据库

    API参考 https://www.lamp.io/api#/databases/databasesDelete

    参数

    *<database_id> (字符串) 数据库的ID

    选项

    • [--yes][-y] (布尔) 跳过确认删除问题
  3. databases:update <database_id> [-d][--description] [-m][--memory] [-o][--organization_id] [--my_cnf] [--mysql_root_password] [--ssd] [--vcpu] [--delete_protection]

    更新数据库。

    API参考 https://www.lamp.io/api#/databases/databasesUpdate

    参数

    *<database_id>) (字符串) 数据库的ID

    选项

  • [-d][--description] (字符串) 您数据库的描述
  • [-m][--memory] (字符串) 您数据库上的虚拟内存量(默认:512Mi)
  • [-o][--organization_id] (字符串) 您的组织名称
  • [--mysql_root_password] (布尔值) 如果需要更新root密码,将其设置为true
  • [--my_cnf] (字符串) 您数据库配置文件的路径
  • [--ssd] (字符串) ssd存储的大小(默认:1Gi)
  • [--vcpu] (浮点数) 可用的虚拟CPU核心数(默认:0.25)
  • [--delete_protection] (布尔值) 启用时,数据库不能被删除
  1. databases:list [-o][--organization_id]

    返回所有数据库

    API参考 https://www.lamp.io/api#/databases/databasesList

    选项

    • <organization_id> (字符串) 通过组织ID值筛选输出
  2. databases:describe <database_id>

    返回数据库

    API参考 https://www.lamp.io/api#/databases/databasesShow

    参数

    • <database_id> (字符串) 数据库的ID

数据库备份

  1. db_backups:new <database_id>

    备份数据库

    API参考 https://www.lamp.io/api#/db_backups/dbBackupsCreate

    参数

    *<database_id> (字符串) 数据库的ID

  2. db_backups:delete <db_backup_id> [--yes][-y]

    删除数据库备份

    API参考 https://www.lamp.io/api#/db_backups/dbBackupsDelete

    参数

    *<db_backup_id> (字符串) 数据库备份的ID

    选项

    • [--yes][-y] (字符串) 跳过确认删除问题
  3. ###db_backups:list [-o][--organization_id]

    返回数据库备份

    API参考 https://www.lamp.io/api#/db_backups/dbBackupsList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
  4. db_backups:describe <db_backup_id>

    返回数据库备份

    API参考 https://www.lamp.io/api#/db_backups/dbBackupsShow

    参数

    • <db_backup_id> (字符串) 数据库备份的ID

数据库恢复作业

  1. db_restores:new

    创建数据库恢复作业(将备份恢复到数据库中)

    API参考 https://www.lamp.io/api#/db_restores/dbRestoresCreate

    参数

    • <database_id> (字符串) 数据库的ID
    • <db_backup_id> (字符串) 数据库备份的ID
  2. db_restores:delete <db_restore_id>

    删除数据库恢复作业

    API参考 https://www.lamp.io/api#/db_restores/dbRestoresDelete

    参数

    • <db_restore_id> (字符串) 数据库恢复的ID
  3. db_restores:list [-o][--organization_id]

    返回数据库恢复作业

    API参考 https://www.lamp.io/api#/db_backups/dbBackupsList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
  4. db_restores:describe <db_restore_id>

    返回数据库恢复作业

    API参考 https://www.lamp.io/api#/db_backups/dbRestoresShow

    参数

    • <db_restore_id> (字符串) 数据库恢复的ID

文件

  1. files:new <app_id> <file_id> [] [--apache_writable] [--source]

    在您的应用程序上创建文件

    API参考 https://www.lamp.io/api#/files/filesCreate

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 创建文件的文件ID
    • [<contents>] (字符串) 文件内容

    选项

    • [--source] (字符串) 一个用于获取内容的URL
    • [--apache_writable] (布尔值) 允许apache写入文件ID
  2. files:list <app_id> <file_id> [-l][--limit] [--human-readable] [-r][--recursive]

    从应用的根目录返回文件

    API参考 https://www.lamp.io/api#/files/filesList

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 文件的ID。该ID也是相对于应用根目录的文件路径(默认:应用根目录)

    选项

    • [-l][--limit] (整数) 列表操作中每个响应返回的结果数量。默认值为1000(允许的最大值)。使用更低的值可能有助于处理超时操作(默认:1000)
    • [--human-readable] (布尔值) 将大小值从原始字节数转换为可读格式
    • [-r][--recursive] (布尔值) 在指定路径下的所有文件或对象上执行命令
  3. files:upload <app_id> <file_id>

    创建新文件

    API参考 https://www.lamp.io/api#/files/filesCreate

    参数

    • <file> (字符串) 要上传文件的本地路径
    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要保存的文件的文件ID
  4. files:download <app_id> <file_id>

    将文件作为zip下载。

    API参考 https://www.lamp.io/api#/files/filesShow

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 文件的ID。该ID也是相对于应用根目录的文件路径
    • <dir> (字符串) 下载文件的本地路径(默认:当前工作目录)
  5. files:update <app_id> [<file_id>] [<local_file>] [-r][--recur] [--command]

    更新文件_id(包括文件名,相对于应用根目录的文件路径)

    API参考 https://www.lamp.io/api#/files/filesUpdateID

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要更新的文件的文件ID。如果省略,则更新应用根目录
    • [<local_file>] (字符串) 本地文件的路径;此文件上传到远程路径

    选项

    • [-r][--recursive] (布尔值) 递归到目录中(仅与[--apache_writable]选项一起使用)
    • [--apache_writable] (布尔值) 允许apache写入文件ID
  6. files:delete <app_id> <file_id> [--yes][-y]

    从您的应用中删除文件/目录

    API参考 https://www.lamp.io/api#/files/filesDestroy

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要删除的文件的文件ID

    选项

    • [--yes][-y] (布尔) 跳过确认删除问题

文件子命令

  1. files:new:dir <app_id> <file_id> [--apache_writable]

    在您的应用中创建目录

    API参考 https://www.lamp.io/api#/files/filesCreate

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要创建的目录的文件ID

    选项

    • [--apache_writable] (布尔值) 允许apache写入文件ID
  2. files:new:symlink <app_id> <file_id> [--apache_writable]

    在您的应用中创建符号链接

    API参考 https://www.lamp.io/api#/files/filesCreate

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要创建的符号链接的文件ID
    • <target> (字符串) 符号链接的目标文件ID

    选项

    • [--apache_writable] (布尔值) 允许apache写入文件ID
  3. files:update:symlink <app_id> <file_id> [--apache_writable]

    更新您的应用中的符号链接

    API参考 https://www.lamp.io/api#/files/filesUpdate

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要更新的符号链接的文件ID
    • <target> (字符串) 符号链接的目标文件ID

    选项

    • [--apache_writable] (布尔值) 允许apache写入文件ID
  4. files:update:unarchive <app_id> <file_id>

    提取归档文件

    API参考 https://www.lamp.io/api#/files/filesUpdateID

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要解压缩的文件的文件ID
  5. files:update:fetch <app_id> <file_id>

    从URL获取文件

    API参考 https://www.lamp.io/api#/files/filesUpdateID

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要获取的文件的文件ID
    • <source> (字符串) 获取的URL
  6. files:update:move <app_id> <file_id> <move_path>

    将文件移动到另一个目录

    参数

    • <app_id> (string) 应用程序的 ID
    • <file_id> (字符串) 要移动的文件的文件ID
    • <move_path> (字符串) 要移动到的目标文件ID。注意:目标目录必须存在

密钥

  1. keys:new [-o][organization_id] [-d][--description]

    创建新的密钥

    API参考 https://www.lamp.io/api#/keys/keysCreate

    选项

    • [-o][--organization_id] (字符串) 一个organization_id。如果省略,则默认为用户的默认组织
    • [-d][--description] (字符串) 为此密钥提供一个不可变的描述
  2. keys:update <key_id> [-d][--description]

    更新密钥

    API参考 https://www.lamp.io/api#/keys/keysUpdate

    参数

    • <key_id> (字符串) 密钥的ID

    选项

    • [-d][--description] (字符串) 为此密钥提供一个不可变的描述
  3. keys:delete <key_id>

    删除密钥

    API参考 https://www.lamp.io/api#/keys/keysDelete

    参数

    • <key_id> (字符串) 密钥的ID
  4. keys:list [-o][--organization_id]

    返回组织的密钥

    API参考 https://www.lamp.io/api#/keys/keysList

    选项

    • [-o][--organization_id] (字符串) 一个organization_id。如果省略,则默认为用户的默认组织
  5. keys:describe <key_id>

    返回一个密钥

    API参考 https://www.lamp.io/api#/keys/keysShow

    参数

    • <key_id> (字符串) 密钥的ID

日志

  1. logs:list [-o][--organization_id][--pod_name][-p] [--start_time] [--end_time]

    返回日志

    API参考 https://www.lamp.io/api#/logs/logsList

    选项

    • [-o][--organization_id] (字符串) 一个organization_id。如果省略,则默认为用户的默认组织
    • [--pod_name][-p] (字符串) 一个pod_name。使用通配符前缀匹配
    • [--start_time] (字符串) 开始时间符合RFC3339规范(默认:10分钟前)
    • [--end_time] (字符串) 结束时间符合RFC3339规范。(默认:当前日期)

组织

  1. organizations:update <organization_id> [--name] [--promo_code] [--payment][-p]

    更新组织

    API参考 https://www.lamp.io/api#/organizations/organizationsUpdate

    参数

    • <organization_id> (字符串) 组织的ID

    选项

    • [--name] (字符串) 新组织名称
    • [--promo_code] (字符串) 应用优惠码
    • [--payment][-p] (字符串) Stripe源ID
  2. organizations:list

    返回此用户的组织

    API参考 https://www.lamp.io/api#/organizations/organizationsList

### 组织用户

  1. organization_users:update <organization_user_id> [--admin]

    更新组织/用户关系(允许将/移除选定的用户角色作为组织管理员)

    API参考 https://www.lamp.io/api#/organization_users/organizationUsersUpdate

    参数

    • <organization_user_id> (字符串) 组织用户的ID

    选项

    • [--admin] (布尔值) 将选定的用户设置为组织的管理员(如果您需要从选定的用户中移除管理员角色,请省略此选项)
  2. organizations_users:list [-o][--organization_id]

    返回组织/用户关系

    API参考 https://www.lamp.io/api#/organization_users/organizationUsersList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
  3. organizations_users:describe <organization_user_id>

    返回一个组织/用户关系

    API参考 https://www.lamp.io/api#/organization_users/organizationUsersShow

    参数

    • <organization_user_id> (字符串) 组织用户的ID

令牌

  1. tokens:new [--description][-d] [--enable]

    创建一个新的令牌

    API参考 https://www.lamp.io/api#/tokens/tokensCreate

    选项

    • [--description][-d] (字符串) 令牌描述
    • [--enable] (布尔值) 启用新令牌
  2. tokens:delete <token_id> [-yes][-y]

    删除令牌

    API参考 https://www.lamp.io/api#/tokens/tokensDelete

    参数

    • <token_id> (字符串) 令牌的ID

    选项

    • [-yes][-y] (布尔值) 跳过确认删除问题
  3. tokens:update <token_id> [--enable] [--disable]

    更新令牌

    API参考 https://www.lamp.io/api#/tokens/tokensList

    参数

    • <token_id> (字符串) 令牌的ID

    选项

    • [--enable] (布尔值) 启用令牌
    • [--disable] (布尔值) 禁用令牌
  4. tokens:list

    返回此用户的所有令牌

    API参考 https://www.lamp.io/api#/tokens/tokensList

  5. tokens:describe <token_id>

    返回一个令牌

    参数

    • <token_id> (字符串) 令牌的ID

用户

  1. users:list [-o][--organization_id][--email][-e]

    返回用户列表

    API参考 https://www.lamp.io/api#/users/usersList

    选项

    • [-o][--organization_id] (字符串) 请求的organization_ids的逗号分隔列表。如果省略,则默认为用户的默认组织
    • [--email][-e] (字符串) 过滤的电子邮件地址

Phar更新

  1. self-update 更新您的phar构建到最新版本(仅当您使用phar构建时有效)

CI/CD系统集成示例

Laravel应用部署示例

TravisCI

需要2个环境变量

  • APP_ID 必需 您的lamp.io App ID

  • LAMP_IO_TOKEN 必需 lamp.io访问令牌

.travis.yaml

language: php
sudo: false
php:
  - "7.3"
jobs:
  include:
    - stage: deploy
      before_script:
        - composer install
        - chmod +x build.sh
      script: ./deploy.sh

deploy.sh

#!/bin/sh -l
set -e
composer install --optimize-autoloader
composer global require lamp-io/lio dev-master --update-with-dependencies
alias lio=$HOME/.composer/vendor/bin/lio

cp .env .env.live
app=$APP_ID
release="$(date +%Y%m%d%H%m%s)";

# zip up the app for uploading
zip -r /tmp/artifact.zip . \
  -x "*\.env*" \
  -x "*\.git*" \
  --quiet

# create the new release directory in the lamp.io app
lio files:new:dir $app releases/$release

# upload the zip into it
lio files:upload /tmp/artifact.zip $app releases/$release/artifact.zip

# unzip it remotely
lio files:update:unarchive $app releases/$release/artifact.zip

# clean up
lio files:delete $app releases/$release/artifact.zip -y

# check if the (shared) storage directory already exists
if ! lio files:list $app storage -q; then
  # if not, use the one from this release to get started
  lio files:update:move $app releases/$release/storage /storage
fi

# delete this releases storage directory and symlink it to the shared one
lio files:delete $app releases/$release/storage -y -q
lio files:new:symlink $app releases/$release/storage ../../storage

# make sure the app can write to things
lio files:update $app storage --apache_writable=true --recursive
lio files:update $app releases/$release/bootstrap/cache --apache_writable=true --recursive

# upload the local .env.live file to be the remote .env file
lio files:upload .env.live $app releases/$release/.env

# run artisan remotely
# lio app_runs:new $app "cd releases/$release && php artisan migrate"

# get the current state of the docroot (public)
public="$(lio files:list $app public -j)"

# if there's a directory already there
if [ "$(echo $public | jq -r '.data.attributes.is_dir')" = 'true' ]; then
  # back it up as a pre-release
  lio files:new:dir $app releases/$release-pre
  lio files:update:move $app public releases/$release-pre/public
  # and then symlink public to this new release
  lio files:new:symlink $app public releases/$release/public

# else if there's a symlink already there
elif [ "$(echo $public | jq -r '.data.attributes.is_symlink')" = 'true' ]; then
  # update it to point to this new release
  lio files:update:symlink $app public releases/$release/public
fi

Github actions

基本工作流程示例

on: [push]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Lio deploy
        uses: lamp-io/action-lio-deploy@master
        with:
          auth_token: ${{ secrets.lamp_io_token }}
          app_id: $({secrets.lamp_io_app_id})

您可以在lamp-io/lio_deploy操作,仓库页面获取更多详细信息

Composer脚本

  1. composer build 创建phar构建

许可证

Lamp-io/lio命令行界面是开源软件,许可协议为MIT许可证