DevOps部署自動化輕量級架構環境 For ASP.NET(一)簡介
個人已經在研究有關自動化的相關文章,所以發現這個時刻對自動化的名詞對企業非常有幫助,有其是減少人與人的連結,另外提升減少感染率的發生,所以,此章針對學生對公司企業組織上有所幫助的自動化方案,假如說對公司企業在數位轉型的方面有所方針與見解。
前言
GitLab調查全球DevOps 團隊發現,有60%開發人員發佈程式碼的速度比過去快了1倍,而這個數字比2020年成長25%。
GitLab 調查全球DevOps 團隊,發布《2021年全球DevSecOps調查》報告書,調查發現在疫情的驅使下,人們發展出新的工作方式,使得過去一年DevOps的成熟度有了超出預期的成長,無論是自動化程度、發佈節奏、持續部署和安全性狀態,抑或是人工智慧和機器學習等先進技術,都有大幅進步。
從去年的DevOps 調查來看,DevOps 的角色不斷變化,與開發人員有關的通常是測試和營運任務,而營運的重點通常在雲端和基礎設施,而安全性則是跨功能團隊的一部分。GitLab 提到,DevOps 不斷變化發展並不奇怪,在今年的調查中,發現有43%的受訪者,已經從事3到5年的DevOps 工作,並且繼續投入在SCM、CI/CD和自動化測試等DevOps 實踐。
在核心數位技術的驅策下,數位轉型步伐正加速前進。另外全世界面對「新冠肺炎(COVID-19)」疫情突顯了IT和數位轉型的價值,建議企業組織應該將危機轉化成為加速轉型的機會。
DevOps 開發維運是一項不斷發展的理念與架構,旨在鼓勵更快、更出色的應用程式開發團隊,以及更快地將新版本的軟體應用發佈給客戶端。
淺談為何介紹部署自動化
DevOps 是近年還不斷在興起的一種軟體開發概念,DevOps 即是Development 和 Operations 的結合,顧名思義主要是包含了開發者(包含軟體品質、測試人員)與維運人員(包含維護、系統架設人員)的之間的一種資訊文化運動。
採用DevOps 文化特性、做法和工具的團隊可獲得更高的效能,也能更快速建置更好的產品以提高客戶滿意度。
DevOps 會從整個規劃、開發、傳遞和作業階段影響應用程式生命週期。每個階段都依賴於其他階段,且階段並不特定於角色。在真正的 DevOps 文化中,在某種程度上,每個角色都會參與每個階段。
DevOps 團隊會在不犧牲品質、穩定性和生產力的情況下尋求快速創新。為了達成此目標,他們使用高生產力工具來將一般步驟與手動步驟自動化,並透過自動化測試與持續整合以小增量的方式進行逐一查看。
何謂CI(Continuous integration)?
何謂CD(Continuous Deployment)?
CI/CD 通常會遵循著以下流程
CI/CD 流程圖
到2026年的DevOps工具市場概述和詳細的業務分析
DevOps工具市場概述和詳細的業務分析圖示
推薦不錯的CI/CD 工具
Jenkins是CI市場中最知名且最常見的名號之一。其最初是由Sun公司的一位工程師打造的一個輔助項目,並迅速擴展為最大的開源CI工具之一,可幫助工程團隊實現自動化部署。價格:免費
Travis CI 是CI/CD 生態系統中比較常見的名號之一,最初設定為開源項目,並在多年擴展之後轉為閉源項目。它專注於CI 工作,通過自動化測試和警報系統提高構建過程的效能。價格:自助版本的69美元/月到高級版本的489美元/月不等。
Circle CI是一款基於雲的工具,可自動執行集成和部署任務。它還強調在部署之前對代碼中的每項變更進行測試,且使用多種方法——如單元測試、集成測試與功能測試等。該工具支持容器、OSX以及Linux環境,可以在私有云或您自己的數據中心內運行。價格:OSX版本起價為39美元/月,年度合同的價格為每用戶35美元/月。
TeamCity是由JetBrains開發的CI / CD服務器。其提供“開箱即用”的持續集成功能,並允許用戶根據自己的需要實現適配。它支持多種語言(Java,.NET,Ruby等),而JetBrains也為其提供多款支持工具與出色的說明文檔。價格:企業服務器許可起價為1999美元。
Codeship 對CI / CD有著不同的看法,並提供託管持續集成即服務方案。該工具最初是為Rails開發人員提供持續集成平台而構建的;當時,他們需要在GitHub上託管自己的代碼並將其部署到Heroku。價格:Basic與Pro版本的價格在49美元至79美元/月之間。
GitLab CI/CD。除了測試和構建項目之外,該工具還可以將build部署到您的基礎設施當中。而且只要了解各具體代碼段的位置,您就能夠對其開展針對性追蹤。價格:起價為3.25美元/月。
推薦不錯的Git Server
GitLab 最初是採用MIT 授權之免費開源軟體。現在則分為 GitLab CE(社群版)和 GitLab EE(企業版),而兩者的核心程式碼是相同的,但企業版會在核心功能之上,再疊加更多好用的進階功能。
Gitea 主要是由Gogs 分歧的版本,兩者的差異在於Gogs 由單人維護,因Gogs 的作者不打算將讀寫權限開放給社群,因此才有了Gitea 分歧版本。
Bonobo 目前能夠在Windows平台上建置,免費且長期穩定維護的就屬Bonobo Windows Git Server。
推薦輕量級架構環境作業流程
個人推薦輕量級架構環境作業流程
版本控制:Gitea 為遠端存放庫目的。
程式建置:Jenkins CI 自動建置方案。
單元測試:Jenkins CI 自動整合測試。
持續部署:Jenkins CD 自動部署服務。
推薦輕量級架構環境安裝工具套件
Git(版本控制軟體)
Gitea(版本控管伺服器)
Jenkins CI(持續整合工具)
Java 8 SDK(Jenkins 必要條件)
Build Tools for Visual Studio 2019(建置 Visual Studio 專案)
Agents for Visual Studio 2019(自動化的測試)
NuGet(套件管理員主控台,應用程式需下載無安裝步驟)
DevOps目標
自動化建置與工具整合範例
DevOps開發流程範例
文獻參考:
用於CI / CD集成的Jenkins插件-PractiTest,參考網址:https://www.practitest.com/help/integrations/jenkins-plugin/
架構師觀點: 你需要什麼樣的 CI / CD ? — 安德魯的部落格,參考網址:https://columns.chicken-house.net/2017/08/05/what-cicd-do-you-need/
Gitlab CI / CD介紹與Runner的架設,參考網址:https://sean22492249.medium.com/gitlab-ci-cd-%E4%BB%8B%E7%B4%B9%E8%88%87-runner-%E7%9A%84%E6%9E%B6%E8%A8%AD-afdbde9f22aa
GitLab Auto DevOps 深入淺出,自動部署,連設定檔不用?!參考網址:https://5xruby.tw/posts/gitlab-auto-devops
Gitlab-CI/CD 2 | IT人,參考網址:https://iter01.com/522595.html
Yy's Program: C#專案在Gitlab上建立CI/CD機制(中),參考網址:http://yy-programer.blogspot.com/2019/02/gitlabcci_11.html?m=1
教你如何用Jenkins自動化部署項目(教程,從零到搭建完成),參考網址:https://codingnote.cc/zh-tw/p/8921/