How do you handle downstream deployments for multiple Go applications?

0
0
Asked By TechWizard99 On

I've got a bunch of Go packages and applications in development. For instance, one package contains the business logic and data store operations, while others are standalone apps or Lambda functions. The way I manage deployments for my core packages involves manually updating every project that relies on these packages to support the new versions. Even if the business logic is fully developed, any dependent apps need to be recompiled with the updated version. Currently, I'm using Bitbucket pipelines for tasks like uploading new images to ECS or updating Lambda functions. However, I'm realizing this process is getting more complicated to manage, and I'm looking for smarter solutions or tools that can help simplify how I handle downstream dependencies. Ideally, I want everything to be consistent with the latest version of the core package, but I'm also considering the practicalities of dependencies. I'm working on creating a dependency graph or chart, but I'm open to suggestions on better methods to streamline this process.

4 Answers

Answered By CodeNinja42 On

Have you checked out Dependabot? It can create automatic pull requests for your repos that reference the updated versions of your packages. There's a version for Bitbucket that could really ease your manual update burden! You might have a look here for more details: [Dependabot for BitBucket](https://medium.com/@serg-digitalis/dependabot-for-bitbucket-aae356676f47).

CuriousCoder07 -

Thanks for this tip! I struggled to find something that could do this before. I'll definitely give it a try!

Answered By PackagePal On

Is it necessary to bundle your business logic with multiple apps? Depending on the team size and complexity, you might consider a strategy where all apps either reference the latest unstable packages until stable versions are released. That way, you minimize the hassle of coordinating deployments.

AnalyticalDev -

You’re right! Microservices might not be our current fit, but I can see how fixing versions during stabilization could reduce the chaos. Thanks for pointing that out!

Answered By DevGuru88 On

You might want to think about why it’s essential for everything to stay updated simultaneously. If your downstream apps are rather isolated, could they potentially be deployed independently? That could make your life a lot easier!

ReflectiveDev -

That makes sense. I've noticed stability issues with some packages still in flux, which complicates updating. I’ll have to evaluate how to better manage communication and app stability.

Answered By MicroserviceMaster On

Tight coupling can lead to this syncing nightmare! A big motivation behind microservices is to decouple dependencies safely. You should really consider how quickly your downstream teams need updates. Are you releasing breaking changes frequently? If that’s the case, they might need a smoother way to stay updated on their own terms.

OperationOverhaul -

Totally! The breaking changes really complicate updates. Some packages aren't stable yet, and I think I need to communicate better with my team about this.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.