Lots of people are talking about CI/CD on the Internet. I wish I could learn the details what they really enforce? Quite disappointed, mostly I only see concepts, principles, and guidelines.
Yes, I know it depends on a lot of things. After supporting several projects, I DO believe there are some useful first-hand experience which are general and not that well-known. Enclosed is a Demo Jenkins.
Effective and meaningful communications always lead to good results. However communication of TOI (transfer of information) should be avoided as much as possible. As a DevOps engineer, I used to get messages like this, “Hi Denny, I’ve changed XXX. Please check and make proper change on your side”.
Why it’s not good to rely on human communication for TOI? Firstly people will forget, which means expected collaboration will be ignored. Secondly human intervene and communication really takes time for both sides. So How We Can Improve This?
Deployment process may explicitly or implicitly run commands like apt-get, wget, etc. It’s quite natural and common. However if you want a smooth and stable deployment, you have to watch out all these outbound traffic. Why? And How?
As DevOps, we may run into below issues from time to time: 1. Required packages are not installed. 2. Wrong version is installed 3. Extra packages installed which lead to conflict issues, etc.
Literally speaking, the effort of trouble shooting is to figure out what suspicious packages are installed. It’s quite boring and fruitless. To avoid this, people tend to manage Envs by tools like Chef, Puppet. However in development cycle, we still see this issue happens again and again.