Devops 初探,JenKins安裝,配置關聯gitee

Devops 是什麼

DevOps即Development和Operations的組合詞,是一組過程、方法與系統的統稱,用於促進開發應用程序或軟件工程、技術運營和質量保障QA部門之間的溝通、協作與整合。

DevOps是一種重視“軟件開發人員(Dev)”和“IT運維技術人員(Ops)”之間溝通合作的文化,它促進開發和運營團隊之間的協作,以自動化和可重複的方式更快地將代碼部署到生產中。

DevOps有助於提高組織提供應用程序和服務的速度。它使組織能夠更好地爲客戶服務,並在市場中更有競爭力。

簡而言之,DevOps可以定義爲開發和IT運營的一致性,以及更好的溝通和協作。

如圖

image-20220602175601380

爲什麼需要DevOps

在DevOps之前:

● 開發和運營團隊完全孤立。

● 測試和部署是在設計構建之後完成的獨立活動。因此,他們比實際構建週期消耗更多時間。

● 在不使用DevOps的情況下,團隊成員將大量時間花在測試,部署和設計上,而不是構建項目。

● 手動代碼部署會導致生產中出現人爲錯誤

● 開發和運營團隊有各自的時間表,不同步導致進一步的延誤。

在DevOps 模式下,開發團隊和運營團隊都不再是“孤立”的團隊。有時,這兩個團隊會合爲一個團隊,他們的工程師會在應用程序的整個生命週期(從開發測試到部署再到運營)內相互協作,開發出一系列不限於單一職能的技能。

devops的目的

  • DevOps 突出重視軟件開發人員和運維人員的溝通合作,通過自動化流程來使得軟件構建、測試、發佈更加快捷、頻繁和可靠。

  • DevOps 希望做到的是軟件產品交付過程中 IT 工具鏈的打通,使得各個團隊減少時間損耗,更加高效的協同工作。

CI 、CD 是什麼?

  • 持續集成(Continuous Integration):持續集成是指軟件個人研發的部分向軟件整體部分交付,頻繁進行集成以便更快、更早的發現其中的錯誤。持續集成源自於極限編程(XP),是 XP 最初的 12 種實踐之一。持續集成需要具備

    • 全面的自動化測試:這是實踐持續集成 && 持續部署的基礎,與此同時,選擇合適的自動化測試工具也極爲重要。
    • 靈活的基礎設施容器、虛擬機 的存在讓開發人員和 QA 人員不必再大費周折。
    • 版本工具工具:如 Git、SVN 等。
    • 自動化的構建和軟件發佈流程工具:如 Jenkins 等。
    • 反饋機制:構建、測試失敗的時候,可以快速的反饋到相關負責人,以便儘快的解決問題,使得產品能更早的達到穩定的版本。
  • 持續交付(Continuous Delivery):持續交付在持續集成的基礎上,將集成後的代碼部署到更貼近真實運行環境的『類生成環境』中。持續交付優先於整個產品生命週期的軟件部署,建立在高水平自動化持續集成之上。持續交付的優點和持續集成非常類似:

    • 快速發佈:能夠應對業務需求,更快的實現軟件價值。
    • 編碼、測試、上線、交付的頻繁迭代週期縮短,同時獲得迅速反饋。
    • 高質量的軟件發佈標準:整個交付過程標準化、可重複、可靠。
    • 整個交付過程進度可視化:方便團隊人員瞭解項目成熟度。
    • 更先進的團隊協作方式:從需求分析、產品的用戶體驗到交互設計、開發、測試、運維等角色的密切協作,相比於傳統的瀑布式軟件團隊,更少浪費。
  • 持續部署(Continuous Deployment):持續部署是指當交付的代碼通過評審之後,自動部署到生產環境中。持續部署是持續交付的最高階段。這意味着,所有通過了一系列的自動化測試的改動都將自動部署到生產環境。

開發人員提交代碼,持續集成服務器獲取代碼,執行單元測試,根據測試結果決定是否部署到預演環境,如果成功部署到預演環境,進行整體驗收測試,如果測試通過,自動部署到生產環境。整個過程自動化高效運轉。

推薦常用的CI/CD工具

Jenkins

專業的CI/CD工具,可擴展自動化服務器、安裝配置簡單、豐富的插件庫、分佈式架構設計、支持所有的平臺、可視化的管理頁面。

images

GitLab

端到端DevOps工具,常用功能:代碼審查、問題跟蹤、動態訂閱、易於擴展、項目wiki、多角色項目管理、項目代碼在線編譯預覽、CI/CD工具集成。

images

提交合並代碼集成 :通過git push 進行操作或者在GitLab Web頁面操作。

發佈應用到服務器 : 獲取製品庫中的應用,然後用salt、ansible發佈部署到服務器。

完全自動化: 提交代碼-> 構建部署 -> 發佈

gitlab雖然強大但是過於龐大,並且gitlab一般是用於git私有存儲庫來使用,所以這裏還是使用Jenkins

Jenkins

Docker 安裝 Jenkins

# 端口是 8080
docker run      \
       -u root  \
       --name=jenkins  \
       -d \
       -p 8080:8080 \
       -p 50000:50000 \
       -v jenkins-data:/var/jenkins_home \
       -v /etc/localtime:/etc/localtime:ro \
       -v /var/run/docker.sock:/var/run/docker.sock \
       --restart=always \
       jenkinsci/blueocean

image-20220602182123077

初始化Jenkins

等待安裝完成即可,安裝完畢之後通過 瀏覽器訪問如我的

http://192.168.176.100:8080

image-20220602182325544

這個密碼,在日誌可以找到

docker logs jenkins

image-20220602182511696

已經找到了密碼,輸入密碼即可進去

image-20220602182609473

安裝插件

image-20220606094003930

image-20220606094453865

創建管理員用戶

image-20220606094654919

配置實例,一般會自己獲取,沒有獲取就自己填寫

image-20220606094801974

完成重啓

image-20220606094844971

刷新頁面,用剛剛創建的管理員用戶登錄

image-20220606095327907

這下就進去了

image-20220606095430624

安裝插件

  • Docker、Docker Pipeline:安裝 Docker Pipeline 會自動安裝 Docker 插件,Docker Pipeline 插件允許我們自定義 agent 使用 Docker 環境。

  • Git Parameter:解析 git 參數,允許我們選擇分支進行構建。

  • Active Choices:可以做到參數的級聯選擇。

  • Generic Webhook Trigger:通用的 webhook 觸發器,構建更強大的 webhook 功能。

  • Role-based Authorization Strategy:RBAC 權限控制。

  • List Git Branches Parameter:列出分支參數。

  • Build With Parameters:基於自定義參數構建。

  • Jersey 2 APIGitee:Gitee 插件。

image-20220606095705070

image-20220606095814384

docker系列

image-20220606095959828

git系列

image-20220606101929099

後面就不一一演示了,上面幾個插件都要安裝

安裝完成後勾選重啓,重啓完成即可

準備git 項目並配置Jenkis 關聯 Gitee

以 gitee 爲例,因爲 github 實現是太慢了,自己隨便建一個項目

這裏我也是隨便建了一個

https://gitee.com/makalochen/devop-test

Jenkis 關聯 Gitee

申請gitee私人令牌

image-20220606100622788

image-20220606100751128

image-20220606100847830

Jenkins 配置 Gitee API 令牌

image-20220606101307607

image-20220606101339157

image-20220606101409630

image-20220606101432554

image-20220606101455053

image-20220606104553385

image-20220606104610341

Jenkins 配置關聯 Gitee

image-20220606104758045

下劃找到gitee配置

image-20220606105052965

最後別忘了保存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章