Hey lovely community! We are looking to move towards a culture of continuous Integration/Continuous Delivery - what would your top tips be when starting to make this change?
Moving towards a culture of CI/CD means that your team needs to move toward agility, so implementing agile methodology will help your team move faster into the mindset of CI/CD.
Of course the tooling to use is the most important part. Our tool Microtica (http://microtica.com) can help you automate the entire software delivery process.
Try it out and let me know what you think.
This feels backward, I don’t get how CI/CD is dependant on agile.
CI/CD can enable some agile practices for sure, but CI/CD provides a lot of value without implementing any of the agile methodologies. But having CI makes it easier to practice TDD and enforce coding standards. And having a test environment running the latest code should tighten the feedback loop between developer and stakeholder. These are good things no matter how you organise your work. So start with a CI/CD pipeline and then go from there. You may or may not want to adopted ideas from the agile toolbox.
Ps. This isn’t directed at you Maria_micro, more at the implied agile methodologies. “I saw the greatest minds of my generation destroyed by [grooming meetings]”.
True story! But the problem i see here is a bad implementation of agile that unfortunately a majority of teams have. That's why they are stuck on meetings forever and ever. Been there done that :) Agile practices (the real ones) are similar to DevOps ones, and CI/CD is a major part of them. Automation will bring you far along.
I think one of the most impacting decisions you can make here is what kind of environment setup you want. Do you want to only have a production environment? Dev and production? Dev, stage, production? Depending on your answer there will change the level of investment you need for moving that culture.
I strongly recommend getting your Git / SCM workflow right before implementing Pipelines :-) Of using Git, you might want to make sure that everybody works according to a defined work flow such as Gitflow.
Pipelines can only work if everybody strictly sticks to the rules.
For manual steps just write down a description to make a "do-nothing script" [1] to transition with gradual automation .
Then you can turn those into the rough draft of your CI/CD a pipeline.
If you use a common system there might already be adapters for your CI/CD platform of choice to make it even easier.
GitHub Actions is a good simple system to start with if your code is on GitHub.
[1]: https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-...