.NET Core微服務之基於Jenkins+Docker實現持續部署(Part 1)


Tip: 此篇已加入.NET Core微服務基礎系列文章索引

一、CI, CD 與Jenkins

  互聯網軟件的開發和發布,已經形成了一套標准流程,最重要的組成部分就是持續集成(Continuous integration,簡稱 CI) => 持續集成指的是,頻繁地(一天多次)將代碼集成到主干

  它的好處主要有兩個:

    • 快速發現錯誤。每完成一點更新,就集成到主干,可以快速發現錯誤,定位錯誤也比較容易。
    • 防止分支大幅偏離主干。如果不是經常集成,主干又在不斷更新,會導致以后集成的難度變大,甚至難以集成。

  持續集成的目的,就是讓產品可以快速迭代,同時還能保持高質量。與持續集成相關的,還有持續交付和持續部署。

  持續交付指的是:頻繁地將軟件的新版本,交付給質量團隊或者用戶,以供評審。如果評審通過,代碼就進入生產階段。它強調的是,不管怎么更新,軟件是隨時隨地可以交付的

  持續部署是持續交付的下一步,指的是代碼通過評審以后,自動部署到生產環境。它強調的是代碼在任何時刻都是可部署的,可以進入生產階段

Martin Fowler 說:“持續集成並不能消除 Bug,而是讓它們非常容易發現和改正。”  

  Jenkins 是一款流行的開源持續集成(CI)與持續部署(CD)工具,廣泛用於項目開發,具有自動化構建、測試和部署等功能。官方網站:http://jenkins-ci.org/

  使用Jenkins的目的在於:

  (1)持續、自動地構建/測試軟件項目。 
  (2)監控軟件開放流程,快速問題定位及處理,提升開發效率。

  這里廢話不多說了,更多內容,可以參考這一篇文章《不甘寂寞的Jenkins:從持續集成到持續部署

二、Jenkins的基礎安裝

PS: 這里采用的是基於CentOS7.x的安裝方式,非Docker安裝。

2.1 安裝Java環境

  這里參考曉晨Master的《CentOS7安裝Java環境(JDK1.8)》,不再贅述安裝步驟,最終驗證效果:

  

  Tip:里面需要注意的是為jdk創建軟鏈接!

2.2 安裝Git

yum install git

2.3 安裝Jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

yum install jenkins 

  安裝完成后提示信息:

  

  默認安裝后的端口綁定的是8080,如果你想更改請進入文件編輯JENKINS_PORT屬性項。

vim /etc/sysconfig/jenkins

  如果你使用的是root用戶(沒有單獨創建一個jenkins的用戶),那么建議進入上面的配置文件編輯JENKINS_USER屬性項將jenkins改為root。

  

2.4 配置Jenkins

  (1)修改目錄權限:

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

  Tip:在 Shell 中,可以使用chown命令來改變文件所有者。chown命令是change owner(改變擁有者)的縮寫。-R代表進行遞歸( recursive )的持續更改,即連同子目錄下的所有文件、目錄都更新成為這個用戶組,常常用在更改某一目錄的情況。

  (2)重啟Jenkins服務

service jenkins restart
ps -ef | grep jenkins

  提示信息如下圖所示:

  

  PS:啟動Jenkins

systemctl start jenkins

  驗證啟動狀態:

systemctl status jenkins

  

2.5 初始化Jenkins 

  (1)訪問http://xxxx:8080/進行Jenkins的解鎖

  

  可以通過下面的命令查看管理員密碼:

cat /var/lib/jenkins/secrets/initialAdminPassword

  

  然后把這個密碼復制到Web界面中的文本框中去進入下一步

  (2)自定義Jenkins => 這里選擇安裝推薦的插件

  

  雙擊之后進入安裝過程,耐心等待:

  

  (3)創建管理賬戶 => 也可以直接使用admin賬戶繼續

  

  (4)安裝完成

  

  (5)Jenkins主界面

  

  至此,Jenkins的基本安裝與配置就到此結束,下一篇我們會結合ASP.NET Core與Docker來一個持續部署的實例。

三、小結

  本篇簡單介紹了一下持續集成、持續交付與持續部署的基本概念,然后介紹了如何在CentOS7.x下安裝Jenkins並初始化Jenkins。下一篇會會結合ASP.NET Core、GitHub與Docker來一個持續部署的實例。

參考資料

佚名,《什么是持續集成?該怎么做?

宋瀟男,《不甘寂寞的Jenkins:從持續集成到持續部署

曉晨Master,《ASP.NET Core & Docker & Jenkins零基礎持續集成

dev_zh,《安裝Jenkins遇到的坑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM