環境
CentOS Linux release 7.6.1810
jdk1.8.0_65
apache-tomcat-8.5.45
Jenkins-2.235.5
apache-maven-3.6.3
git-2.9.5
gradle-6.6.1
SonarQube-6.7.7(LTS)
sonar-scanner-cli-4.2.0.1873
拓撲:
node1:安裝GitLab、SonarQube
node2:安裝Jenkins、Git、MAVEN
一、小團隊自動化運維實踐經驗
1、先做監控和告警
Prometheus用於監控告警、Grafana用於展示。
2、一開始就應該做配置版本化
3、Jenkins化:將構建打包交給Jenkins
4、將制品交給Nexus管理
5、使用Ansible執行部署
二、ChatOps
將重復性的手工操作自動化了,通過ChatOps可以自助實現一些簡單的運維。
Rocket.Chat作為聊天窗口實現,依賴於MongoDB;Hubot作為運維機器人,hubot是github出品的一個運維機器人。本質就是一個接收命令消息,執行預定義操作的一個程序。而接收命令消息的這個組件在hubot中被稱為adapter,eg:rocketChat的adapter:hubot。市面上已經有很多了。hubot接收命令后如何執行就需要我們來實現了。Jenkins實現任務執行,整體架構如下:
1、安裝Rocket.Chat
(1)cetos7安裝Rocket.Chat
官方手冊
網友參考
(2)管理界面使用
參考:
centos7搭建自己的(開源)聊天服務器rocket.chat
(3)客戶端使用
參考:
2、安裝Hubot
參考:
CentOS7中使用Hubot和Slack部署運維機器人
基於Hubot打造自己的聊天機器人服務(一)
基於Hubot打造自己的聊天機器人服務(二)
3、整合Rocket.Chat、Hubot、Jenkins
參考:
在RocketChat的聊天窗口命令hubot執行一次jenkins構建任務。