Jenkins 持續整合與持續釋出.Net6專案(上)
阿新 • • 發佈:2021-12-08
簡單概括一下什麼是Jenkins
jenkins是一個可擴充套件的持續整合引擎,主要用於持續、自動地構建/測試軟體專案、 監控一些定時執行的任務。
通俗一點講就是我們把專案編寫完成之後,Jenkins可以自動幫我們測試並部署專案,讓程式設計師只需要專注實現業務即可
準備工作
- 一臺Centos伺服器,【核心儘量在centos7以上】
- 需要外網支援【因為需要和Git互動】
步驟
- 安裝Docker
- 拉取和執行Jenkins服務
- 準備Gitee賬號 【Github/Gitlab均可,這裡主要是Gitee在國內,網速會快一些,並且使用的群體比較大】
- 結合.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),則是因為瀏覽器預設輸入法為英文導致,改成中文即可,以谷歌瀏覽器為例
- 在瀏覽器中輸入: chrome://settings/
- 在搜尋框中輸入 語言
- 把中文移至第一個即可