You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
I'm not sure how to describe it.
So I will tell you what I have, what I do and what I think I need.
I code and do manually
I think i need
What else I can optimize in my personal workflow?
Thx for feedback, Michael
Hey @Michael Hohlfeld ,
Per my understanding / gut feeling, for the higher envs (Prod & Stage), you are using PR+merge mainly for triggering a deployment, and not because you have "real" code changes.
One way to optimize your workflow is to pass the artifacts from Dev & Test pipelines to your Stage & Prod pipelines. This will reduce pipeline times because you will not have to clone and re-build your code, and it will also improve quality because there will be no bugs accidentally entering at Stage & Prod pipelines.
In your case, I would also recommend splitting your pipeline into two pipelines: one for CI and one for CD. This will allow you to define different triggers and different behaviors which can also improve your workflow.
Hope that helps
Hey @Erez Maadani
Yes, correct: "you are using PR+merge mainly for triggering a deployment, and not because you have "real" code changes."
Sound's good > I have to check how to do this: "pass the artifacts from Dev & Test pipelines to your Stage & Prod pipelines"
Here I'm not sure to understand you correctly: "splitting your pipeline into two pipelines: one for CI and one for CD"
Currently I'm not deep inside CI/CD, but I'm learning every day.. Is this something what you mean? I use "steps" inside the "branches"
Your attached pipeline shows that your deploy & build are coupled because the deploy step is depended on the caches from the build step.
My recommendation was for you to be able to run your deployment (CD) pipeline/step without the running your build (CI) pipeline/step first.
To do that, you might want to use a third party to upload your artifacts to.
And then there are few options to implement what you want. One simple option would be:
The solution above is pretty naive but can be implemented using a single bitbucket pipeline file.
The important point here is to logically separate the CI from the CD. Each pipeline has different triggers, different requirements and different steps.