Closed themightychris closed 1 year ago
A related piece of work which depends on this but may be scoped separately is updating the production build process triggered by releases to also generate a rules.json
file and update it as part of the release artifacts.
Both approaches will fundamentally require the implementation of three functions:
In either case, the same GCS bucket that exists already can be used, there doesn't appear to be any reason to isolate the bucket storage by environment.
There are four GCS buckets associated with the application
Buckets 1-3 MUST be recreated for each new environment due to various collision factors. Bucket 4 may be reused between environments.
The name of bucket 3 is currently hard coded into the service; this must be changed before any parallel environment can be deployed. The name of bucklet 4 is also currently hard coded into the client and service, but this does not present the same problem due to its ability to be reused without any collisions.
Pushes to master deploy client+server to a pre-production staging environment (while production shifts to only being updated when releases are created)
This approach would involve managing a long-lived staging environment alongside the production environment within the gtfs-infrastructure repository. This would require:
Separately, the web pipeline in the validator repository would require:
Select PR environments (either based on files changes or a label/tag/prefix on the PR) get deployed to ephemeral environments
This approach would require managing short-lived, dynamically configured environments, managed entirely within the web validator repository. Doing so would require:
pull_request
eventpush
eventPros:
Cons:
Estimate: 16 hours
Pros:
Cons:
Estimate: 32 hours
@themightychris can we close this?
Outline an approach and estimate the number of hours for one or both scenarios:
Pushes to master deploy client+server to a pre-production staging environment (while production shifts to only being updated when releases are created)spun out into #1486 and #1487In either case, the same GCS bucket that exists already can be used, there doesn't appear to be any reason to isolate the bucket storage by environment.