stage-ci icon indicating copy to clipboard operation
stage-ci copied to clipboard

Automatically alias commits on master

Open mxstbr opened this issue 7 years ago • 5 comments

Let's say I have a pizza-app and deploy using stage-ci. Now I want all commits on master to automatically be deployed to production, i.e. be aliased to pizza-app.com.

Does that work?

mxstbr avatar May 09 '17 19:05 mxstbr

Not currently but it should be simple to do:

https://github.com/zpnk/stage-ci/blob/master/src/core.js#L71

The hardest part is deciding how to expose that functionality.

amccloud avatar May 10 '17 14:05 amccloud

Environment variable on deploy of the webhook maybe? MASTER_ALIAS=pizza-app.com

That would be epic, it would essentially make stage-ci the most awesome deployment tool ever.

mxstbr avatar May 10 '17 15:05 mxstbr

I can see how this would be a really useful feature, and I like the idea a lot.

It's definitely do-able, but beyond configuration it would require adapting our implementation to respond to GitHub's PushEvent.

Quick background on how stage works currently:

  • when users configure the webhook we only ask them to select the "pull request" event.
  • only PullRequestEvents with either the opened or synchronize action trigger a deploy

If we add support for the push event my questions would be:

  • do we ask users to select the two events? or just the "send everything" option and we filter? (may be more future-proof)
  • should the configuration include the branch to auto deploy? (ie, production vs master)
  • how do we communicate the deployment status to the user? GitHub's status api is less useful outside a PR context because there is no UI to display it.

In terms of configuration, environment variables are the way to go. I'd propose two:

  • STAGE_AUTODEPLOY_BRANCH - set this to "master" to deploy commits on master
  • STAGE_AUTODEPLOY_ALIAS - set this to "pizza-app.com" to override the commit's deployment alias

I'd also propose we just allow all events and let the server filter based on what we need (PullRequest, Push).

Not sure about deployment status.

If I have time to work on this I will assign myself and remove the "help wanted" label. Otherwise, if someone else wants to grab this, just post here.

zpnk avatar May 10 '17 20:05 zpnk

Yep that sounds absolutely brilliant!

mxstbr avatar May 10 '17 20:05 mxstbr

Would this also allow to have a static website always on the same URL for the latest master?

glambert avatar Sep 08 '17 19:09 glambert