#I am upgrading an old Amplify application. Best strategy to safely merge changes to production?

4 messages · Page 1 of 1 (latest)

vague elbow
#

Hi, I am in the middle of getting an old Amplify application up to date. I believe the latest update was done 4-5 years ago. There were originally two branches with their own backends (prod and dev). After an attempt to deploy a small change to dev which failed and eventually lead to a painful rollback failure loop (because it tried to rollback to unsupported versions like node 12x runtime for lambda), I decided to create a brand new branch and update it bit by bit. Long story short, it has now reached a stable point with up-to-date versions. What's good practice getting these updates into production without breaking the production application or causing it to get stuck trying to rollback if it should fail?

torpid frost
#

hey the way you pointed out is the recommended way, for typically upgrading an older applications we generally recommend cloning the env then making the modification to ensure the deployment and testing works as expected as there may be breaking changes on major versions on the dependencies. Then merge the changes.

vague elbow
#

Hey, thanks for the answer. How can I be sure that the deployment won't fail and potentially get stuck trying to roll back?

Since the amplify app that's running in production uses versions of dependencies that no longer are supported, I am worried that it can't get back to a working state if something would go wrong during deployment.

torpid frost
#

hey, cloning the env(using add env) and testing the change would be safest option to check if your project dependencies are incompatible. The new env should also help with the deprecated function runtime as well as cloudformation will rollback rather than stay in a failed status