pantheon-systems / quicksilver-pushback
将通过 Pantheon 控制台做出的提交推回原始 GitHub 仓库。
Requires
- composer/installers: ^1.0 || ^2.0
This package is auto-updated.
Last update: 2024-09-23 19:56:33 UTC
README
此 Quicksilver 项目与基于 Terminus Build Tools 的各种示例仓库结合使用,将 Pantheon 控制台上做出的任何提交推回网站的原始 Git 仓库。这允许开发人员(或其他用户)在 SFTP 模式下在 Pantheon 控制台工作,并通过 Pantheon 将其代码提交回主仓库。这在需要导出配置(Drupal、WP-CFM)的场景中尤其有用。
要求
建议您使用示例 PR 工作流程项目之一(Drupal 8、WordPress)作为使用此工具的起点。
- 仅支持 Terminus Build Tools 的
2.x
版本。 - 项目目前支持 Github、GitLab(包括自托管)和 BitBucket 提供商。
- 此 Quicksilver 脚本仅与已配置为使用 Git PR 工作流程的 Pantheon 网站配合使用。
安装
该项目设计为从网站的 composer.json
文件中包含,并通过 Composer Installers 放置在其适当的安装目录中。
为了使它正常工作,您应该在您的 composer.json 文件中包含以下内容
{ "require": { "composer/installers": "^1.0.20" }, "extra": { "installer-paths": { "web/private/scripts/quicksilver": ["type:quicksilver-script"] } } }
可以使用以下命令包含项目
composer require pantheon-systems/quicksilver-pushback:^2
如果您将示例 PR 工作流程项目之一(Drupal 8、WordPress)用作您网站的起点,则这些条目应该已经存在于您的 composer.json
中。
示例 pantheon.yml
以下是您的 pantheon.yml
的示例,如果这是您想要使用的唯一 Quicksilver 操作。
api_version: 1 workflows: sync_code: after: - type: webphp description: Push changes back to Git repository if needed script: private/scripts/quicksilver/quicksilver-pushback/push-back.php
如果您将示例 PR 工作流程项目用作您网站的起点,则此条目应该已经存在于您的 pantheon.yml 中。
build-providers.json
Quicksilver pushback 需要一个在 git 根目录中的 build-providers.json
文件,该文件指定了项目使用的 git 提供商。
有效的 git
提供商值是 github
、gitlab
和 bitbucket
。
以下是由 Terminus Build Tools 为 GitHub 和 CircleCI 项目创建的 build-providers.json
内容示例
{"git":"github","ci":"circleci"}
从 1.x
升级到 2.x
现有项目是在不同时间创建的,因此每个项目的升级步骤略有不同。一般来说,我们找到了以下成功的方案
- 更新到 Quicksilver Pushback
2.x
- 将 Pantheon 网站上的
files/private/github-secrets.json
复制到files/private/.build-secrets/tokens.json
- 必须在所有环境中执行此操作
- 确保代码库中存在
build-providers.json
- 由较旧版本的 Terminus Build Tools 创建的项目可能缺少此文件
- 将
pantheon.yml
中的 Quicksilver Pushback 脚本路径从private/scripts/quicksilver/quicksilver-pushback/push-back-to-github.php
更改为private/scripts/quicksilver/quicksilver-pushback/push-back.php