Open ss23 opened 9 years ago
Yeah - the way I would approach this is to have an interface that can be added to deployment backends that provide "resources". I'd allow support for multiple resources (e.g. an AWS deployment backend might have a few things?), hence the pair of functions:
interface ProvidesDownloadableResources {
/* Return the list of downloadable resources available for the given SHA. Return a map of identifier to title */
function getDownloadableResourcesList();
/* returns the local filename of the downloadable asset, generating it if needed */
getDownloadableResourceFilename($sha, $identifier);
}
In the UI, we can show the download links based on whether the backend implements the interface and whether getDownloadableResourcesList()
returns anything. For example, a CapistranoDeploymentBackend that doesn't have a PackageGenerator wouldn't provide a downloadable resource.
As a deployer of locked-down environment I want to be able to download a .tar.gz of a release package so that I can build a rigorous, automated deployment process even when deploynaut can't connect to the production server
Acceptance criteria:
Note that with the new package generation work by @sminnee this is a lot easier