1. 程式人生 > 其它 >Jenkins 持續整合與持續釋出.Net6專案(上)

Jenkins 持續整合與持續釋出.Net6專案(上)

簡單概括一下什麼是Jenkins

jenkins是一個可擴充套件的持續整合引擎,主要用於持續、自動地構建/測試軟體專案、 監控一些定時執行的任務。

通俗一點講就是我們把專案編寫完成之後,Jenkins可以自動幫我們測試並部署專案,讓程式設計師只需要專注實現業務即可

準備工作

  1. 一臺Centos伺服器,【核心儘量在centos7以上】
  2. 需要外網支援【因為需要和Git互動】

步驟

  1. 安裝Docker
  2. 拉取和執行Jenkins服務
  3. 準備Gitee賬號 【Github/Gitlab均可,這裡主要是Gitee在國內,網速會快一些,並且使用的群體比較大】
  4. 結合.Net6專案使用

Docker安裝【若已安裝可跳過此步驟】

檢視centos版本

cat /etc/redhat-release

解除安裝舊的版本

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安裝基本環境

$ sudo yum install -y yum-utils

設定映象的倉庫

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新軟體包

yum makecache fast

安裝docker

yum install docker-ce docker-ce-cli containerd.io # docker-ce 社群版 ee 企業版

注意這裡會有幾個個y/n的判斷,輸入y,等待安裝即可

檢查Docker版本

docker version

安裝Jenkins

拉取Jenkins映象(新版本名稱固定為jenkins/jenkins,需要注意)

docker pull jenkins/jenkins

執行Jenkins

docker run -d -p 8888:8080 -p 8889:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --privileged=true --name myjenkins jenkins/jenkins

引數說明:
 -d 後臺執行映象
 -p 8888:8080 將映象的8080埠對映到伺服器的8888埠。
 -p 8889:50000 將映象的50000埠對映到伺服器的8889d埠
 -v /var/jenkins_mount:/var/jenkins_mount /var/jenkins_home目錄為容器jenkins工作目錄,我們將硬碟上的一個目錄掛載到這個位置,類似於MVVM,雙向繫結,方便在外部操作檔案
 -v /etc/localtime:/etc/localtime讓容器使用和伺服器同樣的時間設定
 –name myjenkins 給容器起一個別名

執行結果

登入並配置Jenkins需要的元件

訪問8888埠,顯示需要管理員密碼

檢視管理員密碼

檢視映象日誌

docker logs 容器id

拷貝密碼,登入Jenkins

網路問題,外掛安裝會比較慢,我們先取消,後面手動安裝

配置映象加速

修改/var/jenkins_mount/hudson.model.UpdateCenter.xml裡的內容

vi /var/jenkins_mount/hudson.model.UpdateCenter.xml

將 url 修改為 清華大學官方映象:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

更改密碼(可選)


找到選項中的Password

回到主介面,安裝外掛

安裝中文外掛【Localization: Chinese (Simplified)】

安裝碼雲gitee外掛(Gitee)

安裝碼雲ssh外掛(Publish Over SSH)

重啟jekins服務(不重啟的話,主介面會顯示一半中文,一半英文)

docker restart 容器id

重啟之後的效果

若此時還是顯示中文,並且已經安裝了Localization: Chinese (Simplified),則是因為瀏覽器預設輸入法為英文導致,改成中文即可,以谷歌瀏覽器為例
  1. 在瀏覽器中輸入: chrome://settings/
  2. 在搜尋框中輸入 語言
  3. 把中文移至第一個即可

對接Gitee(重點)

設定證書令牌為碼雲的私人令牌

自動部署.Net6專案

總結