pantheon-systems/quicksilver-pushback

将通过 Pantheon 控制台做出的提交推回原始 GitHub 仓库。

安装次数: 2,614,222

依赖项: 27

建议者: 0

安全性: 0

星标: 14

关注者: 14

分支: 13

开放问题: 7

类型:quicksilver-script

2.1.1 2023-01-03 20:41 UTC

README

Actively Maintained

Quicksilver Pushback v2.x Terminus v2.x Compatible

此 Quicksilver 项目与基于 Terminus Build Tools 的各种示例仓库结合使用,将 Pantheon 控制台上做出的任何提交推回网站的原始 Git 仓库。这允许开发人员(或其他用户)在 SFTP 模式下在 Pantheon 控制台工作,并通过 Pantheon 将其代码提交回主仓库。这在需要导出配置(Drupal、WP-CFM)的场景中尤其有用。

要求

建议您使用示例 PR 工作流程项目之一(Drupal 8WordPress)作为使用此工具的起点。

  • 仅支持 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 8WordPress)用作您网站的起点,则这些条目应该已经存在于您的 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 提供商值是 githubgitlabbitbucket

以下是由 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