static-web-apps-cli icon indicating copy to clipboard operation
static-web-apps-cli copied to clipboard

feat: ability to tear down preview environments

Open neilmispelaar opened this issue 3 years ago • 1 comments

Is your feature request related to a problem? Please describe. I'm frustrated that I can not tear down preview environments using the swa tool.

Our organization is on a private gitlab installation and due to our insane security policies I can't use the regular image : registry.gitlab.com/static-web-apps/azure-static-web-apps-deploy because it's blocked. So I am installing the 'swa` tool in our node images to do deployments to our SWA instance as part of a job in Gitlab's pipeline.

So, I'm trying to setup GitLab's review apps in our project. I would love for when a pull request is closed / merged the on_stop job runs and then removes the preview environment created for that particular job. (NB: I create the preview environment during a deploy job using the swa tool earlier in the pipeline)

This would also be helpful as the free tier only has a limit of 3 (three) preview environments, so keeping the number of preview environments taken up to the absolute lowest is key.

Describe the solution you'd like A simple tear down flag on the deploy command so that when you run it, it removes a preview environment from your swa instance.

Options

  • -tre, --tear-down-env [environment]: Removes a preview environment based on the name provided
swa deploy --tear-down-env "preview-environment-name"

Describe alternatives you've considered The only alternative I can think of is logging into the Azure portal and manually deleting the preview environments.

Additional context No additional context just to saw that I'm so happy you even created the swa tool. It's a lifesaver for me already, and I appreciate the continued support and enhancement to this tool and our unique use cases.

neilmispelaar avatar Aug 25 '22 02:08 neilmispelaar

Actually, if I can update one thing:

What would be very helpful is if the tear down flag could also remove the oldest / stalest (?) preview environment by default. This way as team members create new MRs (PRs in GitHub) off main branch, as long as there aren't more than 3 on free, we can have preview environments for the last three MRs rotating through.

This way, I don't have to try to figure out what the existing preview environments are in the gitlab pipeline and then figure out the oldest one and tear down that one.

Options

  • -tre, --tear-down-env [environment]: Removes a preview environment based on the name provided. Default (no param) would remove the environment that has the oldest last modified date

neilmispelaar avatar Aug 25 '22 14:08 neilmispelaar