Open ygrishajev opened 2 months ago
@ygrishajev I am interested in this issue. I want to contribute your team. Is it possible to complete this issue?
@JamesRyo Hey! Thanks for your interest! I think we could use some help here for sure. I'd like to approach this one step by step. Let me think what we could take off with here. I'll post later
Thank you. I am waiting for your post.
Hello I can handle this issue. Could you give me opportunity to handle this issue?
@ygrishajev Just dropping a random feedback, but from my experience, I would use changesets
over semantic-release
. Unless there is a very good reason you want to force every commit to potentially run a versioning task.
I have used both now and definitely prefer changesets
even if the repo seems to not get as much activity.
Hey @pcfreak30 ! Thanks for sharing! Honestly I've never used changesets and haven't even considered it... unfortunately I've already implemented chnagelogs/releases part and it's functional. I would have investigated that option for sure if I came across it before ;)
I'll check it out for the future though for sure!
Hey @pcfreak30 ! Thanks for sharing! Honestly I've never used changesets and haven't even considered it... unfortunately I've already implemented chnagelogs/releases part and it's functional. I would have investigated that option for sure if I came across it before ;)
I'll check it out for the future though for sure!
tbh from my exp, I would go and evaluate if you actually want what I described and do the work to switch if not. I have used semantic and eventually moved and I prefer changesets.
Problem Statement
Our current CI pipeline is limited to building a Docker image without pushing it to any registry or automating the deployment process. To streamline our workflow and ensure better control over deployments, we need to extend the CI to handle deployments, use
semantic-release
for versioning, generate changelogs, and manage Docker images efficiently by promoting from staging to production without a re-build.Proposed Solution
We propose the following CI/CD workflow:
Feature Branch:
Merge to Main:
main
branch, a workflow is triggered.Semantic Release for Versioning and Changelogs:
semantic-release
to automatically determine the version number based on conventional commits.package.json
with the new release version and commits the updatedpackage.json
and changelog to the repository.Release Candidate:
app_name/0.0.0-rc.0
).Draft Release & Image Promotion:
app_name/0.0.0
). If a draft with the same tag already exists, it is updated.Production Deployment:
Tasks
semantic-release
for version management and changelog generation.package.json
and changelog to the repository.Benefits
This approach will:
semantic-release
for consistent and automated versioning and changelog generation.Additional Considerations