高效開發團隊必備的工做工具

ChatOps 及其實現方式

圖片描述

如今工程師的人力成本愈來愈高,靠工程師手動經過 SSH 或相似的第三方工具來遠程部署服務的方式,枯燥乏味,容易出錯,部署時間長。僅僅爲了部署服務,工程師就免不了加班,並且整個過程都要守候在工做機器旁邊,片刻也不能離開。老闆不肯看到員工既加班又不能保證服務質量,工程師也不指望這樣重複而緊張的部署過程,但願可以找到一種快捷安全的部署服務的方式。git

若是你也經歷過以上描述的場景,那麼也許你能夠思考如何換一種工做方式,讓本身既能提升技能,也能節省時間,更重要的是,讓服務更加穩定可靠。即將成爲趨勢的 ChatOps(即一種會話驅動型開發的作法)的工做方式不失爲一種好選擇。github

BearyChat 旨在提升團隊的溝通和工做效率,爲使用團隊打通了各類第三方服務。在溝通的同時完成線上服務的部署,BearyChat + Hubot + Jenkins + GitHub 的工做模式能夠助大家團隊一臂之力。 docker

更好的使用這一套組合,有一個基本的前提:可以經過一條命令來部署服務。Jenkins 要作的事情是執行這條命令,至於執行時須要的權限,參數等均可以在 Jenkins 中配置。若是團隊的服務尚未達到一條命令完成部署的話,這個組合模式也很難更好的發揮它的做用。 能夠參考 fabfile npm

咱們可使用到如下工具:json

  • BearyChat 是一款團隊內部的 IM 溝通工具,旨在爲團隊提供一種嶄新的工做方式,打通團隊內部使用的衆多第三方服務,提升溝通效率。安全

  • Hubot 是 GitHub 開源的聊天機器人,提供了一種嶄新的運維工做方式:配置,部署,報表,監控等。這些經過指令實現的交互方式,能夠大大幫咱們減小一些重複的勞做,提升工做效率,也使得工做方式一步步自動化,讓工做者找到一種更愉悅的操做方式,固然這不能影響服務的穩定性。服務器

  • Jenkins CI 是一個開源的可私有部署的持續集成服務,衆多的第三方插件使得它可以適應大多數公司的持續集成需求,不只可以驗證代碼的正確性,並且可以快速穩定的幫助咱們完成部署、服務回滾等工做。運維

  • GitHub 是一個利用 Git 進行版本控制、專門用於存放軟件代碼與內容的工具, GitHub 已經成爲了管理軟件開發以及發現已有代碼的首選方法。工具

GitHub 管理代碼

爲了團隊工程師編寫代碼時能有一個愉快開心的體驗, Git 工做流和 GitHub 的代碼託管服務不管在服務穩定性仍是便捷性上都確定是首選。spa

對於還在使用 SVN 來託管代碼的團隊,這裏只能說:放下屠刀,懸崖勒馬啊。實在不行,私有部署的 GitLab 也是一個不錯的選擇。

部署 Hubot 機器人

Hubot 機器人須要團隊部署在本身的服務器上,用來跟團隊內部的其餘服務通訊。

  • 按照 hubot-bearychat 安裝 Hubot 機器人以及 hubot-bearychat 的 adapter

  • 按照 hubot-jenkins 安裝 hubot-jenkins 插件。記得在 external-scripts.json 中添加 hubot-jenkins

  • 按照上面兩個文檔的說明,配置 HUBOT_BEARYCHAT_TOKENS HUBOT_JENKINS_AUTH 和 HUBOT_JENKINS_URL 環境變量並啓動 Hubot

安裝並使用 Jenkins

  • 按照 Install Jenkins 文檔安裝對應系統的 Jenkins 服務。固然若是選擇 docker 的話,能夠參考 Jenkins Docker Image

  • 爲了使得 Jenkins 可以跟 GitHub 和 BearyChat 通訊,須要安裝 GitHub 和 BearyChat 的插件

  • 配置插件的具體方式,能夠參考 Jenkins in BearyChat

BearyChat 鏈接服務

  • 首先要註冊使用 BearyChat 服務,建立一個團隊並新建一個 Hubot 機器人,並將 Hubot 機器人加入到某個討論組內

  • Hubot 機器人的 Token 會做爲私有部署的 Hubot 機器人的啓動變量

  • 剩下的就是在討論組中跟 Hubot 通訊來部署你的服務

固然爲了保證安全性,咱們還能夠作一些自定義的驗證工做,來避免團隊內部他人不當心部署咱們的服務,剩下的事情,就是花精力來把這套組合流程打通,造福於團隊了。

ChatOps 表明着「透明」和「效率」的趨勢,無疑是團隊溝通和合做發展的一種主流方向。首次打通這種工做流程可能須要必定的工做量,但一旦打通並走上正軌,將會爲整個團隊培養出一種更加簡單高效的工做文化。

相關文章
相關標籤/搜索