Hacker News new | ask | show | jobs
Moving toward continuous deliver/continuous integration
5 points by hvgoldie 2150 days ago
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?
5 comments

Start writing down the bash commands that you use to build and deploy your app locally.

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-...

brill
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.
Also, don’t use Github Actions. They lowered the amount of free minutes and the developer experience is inferior to CircleCI or even Jenkins.
thank you!
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.
Yes this makes sense
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.

Also have a look at GitHub flow: https://guides.github.com/introduction/flow/ and GitLab flow: https://docs.gitlab.com/ee/topics/gitlab_flow.html which are in my experience better suited for CD than GitFlow. YMMV.
thank you!
Can you describe your current workflow and tooling?