DevOps

都已經到了年末,各位工程師大大還在為工作效率困擾嗎?想趕快做完工作、好好享受假期來臨嗎?GitHub 部落格特別針對可以強化開發與產品流程的 DevOps 工作文化,統整出 5 個超實用小技巧,包含工具、工作小秘訣都包含在下文中,保證讓你的開發效率 up up!

現在有非常多專注於數位轉型的公司,都已經開始思考導入 DevOps 文化。因為 IT 主管、開發者都發現用這樣的工作方式做技術維運、軟體開發、產品品質提升,以及跨部門協作,都變得更加有效率了!

雖然 DevOps 聽起來好像都是工程師在忙(?),但其實更可以把它當成是一種數位轉型趨勢底下的公司文化轉變。不僅可以幫助公司推出產品的時間縮短,強化市場競爭力,從產面面向來說,降低維運的成本與提升產品服務的穩定性,更可以進一步的強化整體產品品質。

也因為產品的開發時程縮短,相對來講在整體跨部門協作與溝通,甚至是分工上都需要更清晰的定義,因此 GitHub 這幾個小工具與技巧,真的很推。

技巧一:來點 YAML,讓前端更 easy!

YAML 全名「Yet Another Markup Language」,是一種 JSON 的超集,最早於 2001 年發布,可用於 DevOps 及相關開發工作,像是前端配置與自動化流程等等,如今早已成為最重要的宣示式(Declarative)語言之一。

YAML 最特別的一點在於,它非常強調「可讀性」,避開了各種過去常用 {}、[]、“ 等等符號,而這也是它最大的優勢──用 YAML 可以幫你把各種 app 中的設定變得更容易撰寫與讀取。

而正是因為它如此方便,YAML 無論在企業或是各種開源項目中都非常常見,無論你是想要將它直接應用到平常的開發流程中,或是想嘗試以 YAML 寫成的工具輔助,開始學它就對啦!

心動了嗎?想學 YAML 這裡走

TO 推薦閱讀:幫員工買 MacBook Pro,只要 3 個月就能回本!工程師:省超多時間

技巧二:給我好用的 DevOps 工具! 

所謂的「DevOps 工具」其實只是一個總稱,其中的面向百百種,從雲端平台、程式碼管理到版本管理,基本上可說是包山包海,而它們最主要的目的,就是要讓大家在編寫、測試、管理及發布程式時能更容易。

在這裡為大家挑出三個 DevOps 工具,為你加快工作流程:

Git:作為一種分散式版本的版本控制系統,Git 不僅讓版本控制變得更加簡單,你還可以透過非常直接的方式來協作與試驗不同的分支流程,而後輕鬆地將這些更新併入到主要的程式架構中。(點這邊來學 Git 的工作原理!)

雲端開發環境(IDE):雲端 IDE 不僅能讓你自在地寫程式、跑程式、debug,它的厲害之處更在於「超級快」!像是今年年初推出的「Codespaces」,可以將原先需要 45 分鐘才能更新的軟體開發者環境,壓縮到 10 秒解決,是不是很強?另外,反正一切都放在雲端上,你就不用擔心自家的電腦效能,也不用害怕哪天被電腦當機給 gank,讓你走到哪 Code 到哪。(來看看雲端 IDE 是怎麼一回事!)

容器(Containers):假如你還是不想用 IDE,那能在本機上使用的容器會是你的最佳替代選項!過去 10 年來,容器在微服務架構、CI/CD、雲端原生應用程式開發等方面大受歡迎,它不僅輕量又高效,能讓你輕鬆建構、測試和部署你的程式。最讚的是,容器能讓你在模擬的輕量環境中測試自己的 code,提前發現問題、省去各種後續的麻煩。(好啦快來學容器啦!)

TO 推薦閱讀:為什麼 no-code / low-code 工具「不會取代」工程師?

技巧三:用自動化測試+持續整合讓流程更順暢

想要讓你的工作流程更快嗎?自動化測試與隨時檢查整合(CI)記得以下兩個小訣竅:確保你的代碼與主要代碼是相容的、隨時注意潛在安全漏洞和其他問題,好減輕 DevOps 團隊的工作量。

接下來,請容我們隆重介紹「GitHub Actions」出場!你可以用它來幹嘛呢?

一、進行自動化測試:從訂披薩到設警鈴,GitHub Actions 都能使命必達,你可以在這邊如何打造自動化流程。自動化測試流程有多神呢?你可以透過它在模擬環境中測試自己的程式,測試完成然,再叫它順便把測試環境也拆乾淨。

二、創立 CI 管道:所謂持續整合(Continuous integration,CI)是為了將軟體的各種共用副本整合到主線中,如果想要做得好,那除了代碼得寫對、合併要有效率,還得確保跟他人寫出來的部分相容。

GitHub Actions 就可以做到這些事,而你只需要考慮:自己最需要怎樣的自動化流程?過去碰過什麼樣的問題?怎樣的更新頻率比較適合你?

都想好了嗎?相關教學這邊拿!

TO 推薦閱讀:工程師如何掌握 MLOps 技能?9 本書幫自己上手

技巧四:想要更靈活嗎?調度機制上場囉!

無論你是在寫雲端原生應用程式或是需要在不同的伺服器間交錯,你可能會碰到一些環境轉換的關卡,這個時候,伺服器調度機制(server orchestration)就能派上用場囉!它能協助你調配管理那些系統、程式和核心基礎架構。

將這些基礎架構自動化能增進擴展性(scalability),也能幫你在碰到問題時立刻修改環境而不是直接砍掉重練。另外,如果你只是想測試一些小東西,也不用再麻煩工程團隊,只要直接把測試內容納入工作流程中執行就 OK 了!

溫馨小提醒:請不要一開始就把所有東西通通自動化,先找一個適合自動化的區塊試試,再循序漸進地往下推進吧!還有,絕對不要從生產階段開始導入,請從測試階段開始,成功了再放到預備環境中。

技巧五:重複任務出現?請用 Bash 或 PowerShell

有時候你可能會遇到一些在本地執行的可重複任務,每周都固定要花時間處理,頗令人煩躁。啊既然可重複,那就 Bash 或 PowerShell 來寫腳本吧!

Bash 可說是 Unix 世界的扛壩子,而 PowerShell 則是微軟在 2006 年推出的新語言,主要用於 Windows 中的任務自動化處理。現在它們早已成為跨平台的服務,兩者之間的工作方式不大相同,但要用哪個基本上全憑你的喜好。

下次可以試試看用它寫個腳本:抓最新版本中的代碼、創個新分支、切到該分支、向 GitHub發出拉取請求草稿、打開代碼編輯器……

可別小看這個腳本,想想看它可以為你省下多少時間,讓你能放心把時間都花去更重要的事──沒錯,來寫 code 囉各位!

本文開放合作夥伴轉載,參考資料:github.blogAzure,圖片來源:Shutterstock