Following git workflows, there is a branch called activesprint, or develop. It is the release candidate. Most of active branches should base on it.
Team need to be notified, whenever a new activesprint branch has been created. To lower the communication effort, we can automate the detection process and get slack notifications.
After a lot of effort and communication, finally the system deployment works! To guarantee a smooth deployment anytime, we enforce daily deployment test as a next step.
Surprisingly daily deployment doesn’t always succeed like we expect, even if no major changes*. More interesting, many failed tests are kinds of false negatives. So what are the obstacles? And how we can avoid them?
Why it’s working in my server, but fails in yours? The question is quite common. After careful check and side-by-side test, we may or may not find out the difference. The root cause may be packages conflict, mismatched versions, corrupted files, or something magic.
How we can quickly detect the noticeable differences between two servers?
If maintaining servers is one of your routine jobs, occasionally you will need to run commands on multiple servers. Say restart service, update firewall rules, grep files, etc.
It’s a bit boring and inefficient to manually ssh and run commands one by one.