ChatOps Bot: Query Node Info Without Manual Login

Try Your Best To Avoid Any SSH Operations. Yes, I deeply believe in this principle. But my reality is the automation is never so perfect. I still need to login and check system status sometimes. Though the chance is rare.
It may happen at nights or even when I’m on vacation. So what I can do? Just carry my laptop with me wherever I go? This is certainly bad, isn’t it?

We’re living in the world of ChatOps. And mobile phones dominate our daily life (Sadly!) So why don’t we implement a ChatOps bot for this? Here comes a slack command: /chatqueryhost. (Note: The solution is not limited to Slack)

ChatOps Bot: Query Node Info Without Manual Login

Continue reading

Run Code Static Check Via A Temporary Container

How Would You Enforce Code Static Check? Learn and understand the check tools. Then install and configure them in your servers.

With docker, it could be much easier than ever! Let me show you how. The solution has built-in supports for: Python, Ruby, Shell. (You definitely can add more).
And What Does It Take? 5 minutes. Yes, you hear me. Only 5 minutes!

Run Static Check Against Your Scripts Via A Temporary Container

Continue reading

Get Notification: Monitor Your Docker Image Sizing

With Docker deployment, smaller images are usually better.

But your docker images will keep changing. And you just don’t remember to check it for a while. Then someday you happen to find out some huge images in your deployment pipeline. Feel uncomfortable, don’t you? Any thoughts about how to improve it?

My answer is like always: Monitor That! And Get Slack notifications.

Enclosed is my approach. Check it out! And discuss with me, my friends.

Get Notifcation: Monitor Your Docker Image Sizing

Continue reading

5 Reasons Why Jenkins Is So Useful And Popular

I use Jenkins quite a lot. Almost for everything in my daily work.

Not to mention CI/CD part. I achieve regular deployment from Jenkins. Daily backup and weekly cleanup from Jenkins. Vulnerability scan from Jenkins. Workflow enforcement from Jenkins. And the list goes on and on.

But just several years ago, Jenkins (Hudson, the old name) wasn’t this popular. And now? It is almost everywhere. Jenkins is just so important! So answer me: Why is that?

I think there are 5 reasons drive the changes. Check it out and share your thoughts with me, my friends!

(PS: check the bottom of the post: Top #10 Jenkins Plugins I’m actively using everyday).

10 Must-Have Jenkins Plugins

Continue reading

8 Lessons Learned Using docker-compose

Nowadays when people setup and configure services, probably nobody will enjoy doing it in a manual way.

Here comes a new question. How do you automate the process, and make it fast and reliable?

Wrap up some ssh scripts? Leverage CM(configuration management tools) like chef, ansible, or pupet? Use docker run? It’s great that we now have many options. But, as you may guess, not all of them are equally good.

You want a headache-free solution, right? And you also want it real quick, do you? Then You Can Not Miss docker-compose! Here are some useful tips and lessons learned using docker-compose.

8 Lessons Learned Using docker-compose

Continue reading