![]() ![]() Is there a baked-in facility for this sort of local environment management which I am missing completely or is this one of those "our product managers don't care about that workflow so we're never going to do anything like that" sort of deals we've all come to know and love from AWS? While I think there's a solid argument to be made in favor of reconsidering our overall architectural choices, we are where we are and we can't change everything at once. Then we'd be done and the new dev could boot the app and get to work doing something besides struggle to understand what Amplify is persisting where and when as they checkout other dev's environments and try to copy them, hoping they picked a good one to copy. env.example file checked in to Git, it'd have a bunch of keys with no values in it and we'd tell new devs to copy it to. In any other app on any other platform we'd have a. I've read the docs and many, many issues related to the confusion surrounding env vars in Amplify that have come up over the years and I simply have not been able to determine whether there is any Amplify-approved means of accomplishing this seemingly basic task. They simply do not belong in Git or anywhere else. It's not like this is the "staging" environment that everyone shares, these are my values which have meaning to me and me alone. ![]() Blind search-and-replace is perilous in this file as it contains everybody's everything, not just the stuff you care about right now.Īgain, there is absolutely no value in sharing these kinds of keys with anyone who isn't physically typing code on my computer. Now instead of updating one URL because you bounced a process, you have to edit 400 of them. Since we're developers, changes are necessary on an extremely regular basis.Ī substantial amount of completely unnecessary repetition invariably manifests in cases where 20 different lambda functions all use the same 20 services. There is no clear mechanism for communicating when keys are added/changed to other developers every single person has to sit down and make the same little changes to team-provider-info.json every single time a change is necessary. Team-provider-info.json snowballs to a completely unmanageable size very, very quickly as more developers join the team and add more keys This "works," but is exceedingly onerous for the following reasons: In practice this seems to amount to them being added to a sizeable JSON tree in a file named team-provider-info.json. These URLs have to be provided to the Lambda functions in order for anything to work at all.Īmplify has a concept of environments into which environment variables can be placed in order to share them out to individual functions in the project. Every one of these services has an ephemeral and disposable ngrok URL which changes frequently and is of no value to anyone other than the developer currently doing some development work on the app and its related services. These functions reach out to lots of little services which we also run locally during development. My team has a little app that uses a lot of functions. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |