New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(ci): Instant rollback process #5460
Conversation
✅ Deploy Preview for dev-web-novu ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
✅ Deploy Preview for novu-design ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AliaksandrRyzhou this is great work. Kudos for combining all services, environments and regions in a single workflow! We should apply the same mindset in the deployment workflows very soon.
I added some comments to discuss but overall this is already in great shape.
@AliaksandrRyzhou Lets make sure sok does not have any other discussion point tomorrow otherwise I am good to merge this, dont forget we need to cherry pick this to main also. |
@Cliftonz I'm waiting for your approval :) Anyway, we have to merge it to have a chance of how it works, If something happens we will fix it |
Rollback the ECS and Netlify.
So that we don't have to use the Web interface to roll back our ECS and Netlify releases, we decided to create a workflow that should simplify this procedure.
Workflow options
You can find this workflow here.
When you click the button
Run workflow
you will see the menu with the following options:Use workflow from
Specify the branch name to be used when running the Rollback workflow. Keep in mind that to use these options, the latest
rollback.yml
should exist in your branch.Service:
The micro-service that we want to rollback to the previous version.
Environment:
The environment where the service is located. Mostly, I've added this option for testing, but let's leave it here until we're assured that everything works fine.
Region:
The region of the environment is necessary to know the TF workspace. When you choose the DEV environment, this option is not needed. However, if you attempt to run the Rollback for the Development environment in the US Region, it will return an error because we don't have a DEV environment in this region.
Rollback mode:
You can roll back to the previously deployed version or to the version that has the current commit hash of this branch in an image tag name or a deployment info. The
Commit Hash
option should be tested as it will be useful for tags. When a tag is created and this workflow is run for that tag, the workflow retrieves the HEAD Commit for the current git state. It then attempts to find theimage tag
with this value or the Deploy in Netlify with the samecommit_ref
roll back the release from the current version to the version with this head commit value.More you can find here
Remember that this workflow works only in the branch where rollback.yml exists and is updated.