
pjcdawkins/platformsh-cli本Docker镜像集成了Platform.sh命令行工具(CLI)、Git版本控制系统及SSH客户端,旨在为用户提供一个便捷的工具链,用于与Platform.sh云平台进行交互。通过该镜像,用户无需在本地系统直接安装Platform.sh CLI、Git或配置SSH环境,即可快速执行项目部署、环境管理、代码同步等操作,适用于开发、测试及CI/CD场景下的Platform.sh平台交互需求。
拉取镜像(假设镜像名为platformsh/cli-git-ssh,实际名称请以官方为准):
bashdocker pull platformsh/cli-git-ssh
验证工具版本:
bashdocker run --rm platformsh/cli-git-ssh platform --version # 验证Platform.sh CLI版本 docker run --rm platformsh/cli-git-ssh git --version # 验证Git版本 docker run --rm platformsh/cli-git-ssh ssh -V # 验证SSH版本
如需操作本地项目文件(如提交代码、部署本地代码),需将项目目录挂载至容器内:
bashdocker run --rm -v $(pwd):/project -w /project platformsh/cli-git-ssh git status
-v $(pwd):/project:将当前目录挂载至容器内/project路径-w /project:设置工作目录为/project,确保命令在项目目录下执行通过挂载本地SSH配置目录或传递密钥内容,实现与Platform.sh的SSH认证:
bash# 挂载本地SSH目录(包含id_rsa等密钥文件) docker run --rm -v ~/.ssh:/root/.ssh platformsh/cli-git-ssh ssh ***
注意:确保本地SSH密钥具有访问Platform.sh仓库或环境的权限,且文件权限设置正确(如
~/.ssh/id_rsa权限为600)。
通过环境变量PLATFORMSH_TOKEN传递Platform.sh API令牌,实现CLI认证(令牌可从Platform.sh控制台获取):
bashdocker run --rm -e PLATFORMSH_TOKEN="your-api-token" platformsh/cli-git-ssh platform project:list
执行后将列出当前账号下的Platform.sh项目,无需手动运行platform login。
bash# 1. 挂载项目目录并配置SSH密钥 docker run -it --rm \ -v $(pwd):/project \ -v ~/.ssh:/root/.ssh \ -w /project \ platformsh/cli-git-ssh \ /bin/bash # 2. 在容器内执行部署操作(示例命令) git add . git commit -m "Update code" git push platform main # 推送到Platform.sh Git仓库触发部署 platform environment:activate main # 激活环境(如需要)
yaml# .gitlab-ci.yml deploy_to_platformsh: image: platformsh/cli-git-ssh stage: deploy before_script: # 配置SSH密钥(通过CI/CD变量传入) - mkdir -p ~/.ssh - echo "$PLATFORM_SSH_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa # 配置Platform.sh令牌 - export PLATFORMSH_TOKEN="$PLATFORM_API_TOKEN" script: - platform project:select my-project-id # 选择目标项目 - platform environment:deploy --environment=staging # 部署至staging环境 only: - main
| 变量名 | 描述 | 示例值 |
|---|---|---|
PLATFORMSH_TOKEN | Platform.sh API令牌,用于CLI认证 | pjdf23lkjdf9023lkjdf0932... |
SSH_PRIVATE_KEY | 可选,SSH私钥内容(替代文件挂载方式) | -----BEGIN RSA PRIVATE KEY-----... |
GIT_CONFIG_USER | Git提交用户名称配置 | CI Bot |
GIT_CONFIG_EMAIL | Git提交用户***配置 | *** |
| 挂载路径 | 描述 | 建议挂载源 |
|---|---|---|
/project | 项目工作目录,用于操作本地代码 | 本地项目目录(如$(pwd)) |
/root/.ssh | SSH配置及密钥目录 | 本地~/.ssh目录 |
/root/.platformsh | Platform.sh CLI配置目录(缓存认证信息) | 本地持久化目录(可选) |
600(仅所有者可读写),否则SSH客户端可能拒绝使用密钥。PLATFORMSH_TOKEN具有平台操作权限,请勿在非可信环境中暴露或硬编码。/root/.platformsh目录至本地文件系统。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务