Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-28857

Add support for deploying PRs on Platform.sh using eZ GRD

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Development
    • Priority: High
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      3

      Description

      The use of Platform.sh's github integration is not ideal for PRs due to various reasons, including but not limited to :

      • Platform.sh has a upper limit of 21 environments/PRs per project. This limit can be increased at a cost though
      • Every bundle repo must contain .platform.app.yml and a few others files which then needs to be maintained
      • The integration doesn't fit well with bundles as we then have to download meta repo in platform.sh's build hook and manipulate composer.json in order to use the PR's bundle

      As an alternative we could create our own webhook in GRD.
      Prerequsite :

      • Git hub repo has configured a webhook so that GRD is contantacted when new PRs are greated
      • GRD as preconfigured a pool of projects on Platform.sh. A pool of 10 projects means that GRD can handle 10*21=210 environments and the possibility for deploying about 200 PRs ( or 210 if we use the 10 master branches too )
      • [optional] : GRD can create and delete projects as needed

      Possible workflow:

      1. [User] creates a new PR
      2. [Github] access our webhook at GRD
      3. [GRD] Somehow knows which meta repo and branch to use for the given PR ( configured in GRD itself, or in a config file in the bundle repo itself )
      4. [GRD] downloads metarepo locally
      5. [GRD] downloads PR bundle and adds it somewhere in the local meta repo checkout
      6. [GRD] modifies composer.json so that composer will use the PR version of the bundle
      7. [GRD ] Optionally : repeats the previous two steps for any other custom bundles the PR also requires
      8. [GRD] looks up a project which hasn't reached 21 environments yet
      9. [GRD] pushes the metarepo (with it's local changes) to the selected project on Platform.sh

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              vidar.langseid@ez.no Vidar Langseid
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: