1.新建項目提交到Git。
這里的git項目可以用GitLab也可以各大平台提供的,比如碼雲和coding。或者自己搭建個Git服務器。用vs2019新建個webapi項目。然后提交到git服務器。這里我用的是碼雲
2.安裝並運行Jenkins
這里我的是centos7,前提是需要安裝好java的jdk 1.8+
Jenkins官網最新穩定版: https://pkg.jenkins.io/redhat-stable/
windows下載:https://jenkins.io/download/
1)下載
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
(2)導入秘鑰
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
(3)安裝
yum install jenkins
(4)配置端口
Jenkins的默認端口是8080,如果要修改的話使用以下命令,我這里修改為8070:
vim /etc/sysconfig/jenkins
jenkins_port:8070
(5)啟動Jenkins
nohup java -jar /usr/lib/jenkins/jenkins.war --httpPort=8070 &
然后通過瀏覽器IP:Port查看Jenkins界面進行配置,首先需要輸入系統自動生產的密碼:
復制圖片上的路徑,輸入命令: cat 圖片上的路徑,如:cat /var/lib/jenkins/secrets/initialAdminPassword,復制密碼粘貼確認就可以,之后進入Jenkins選擇插件界面:
選擇安裝默認插件。
3.安裝.Net Core SDK 3
推薦按照官方地址操作https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-centos7
sudo yum -y install dotnet-sdk-3.1
安裝完成之后輸入命令 : dotnet --version
驗證安裝是否安裝成功
4.配置Jenkins
(1)新建一個自由風格的軟件項目
(2)填寫源代碼Git地址,用於Jenkins拉取代碼:
添加添加可以添加管理倉庫的用戶和密碼,用戶拉取源代碼。
可是設置定制構建執行代替手動執行,這里的設置是每5分鍾發布一次,其實沒必要,手動點構建更靈活。
構建環境部分,可以指定發布的一些選項,就是發布之前刪除之前的文件等
構建。這里就是把文件獲取到最新之后要執行的項目的編譯,發布和啟動網站。
執行的shell腳本

kill -9 `lsof -ti:5000` dotnet restore dotnet build dotnet publish BUILD_ID=DONTKILLME nohup dotnet ${WORKSPACE}/bin/Debug/netcoreapp3.1/publish/Apitest.dll &
其中shell里面的第一行,第一次構建的時候不需要,因為此時網站還沒發布啟動,不存在占用5000端口的程序,如果執行的話會造成shell中斷。構建不成功。
BUILD_ID=DONTKILLME 這句話的意思是Jenkins啟動之后不要kill掉網站的進程。最開始沒有加這個導致構建之后,看着網站明明啟動了就是訪問不了的假象。
在dotnet 之前加nohup的意思是不占用終端,在后台進程的形式啟動網站,避免一直占用終端,造成構建占用超時。
由於網站啟動后會占用5000端口,再次發布時會造成端口占用,網站啟動不了,所以有了第一句 kill -9 `lsof -ti:5000` 每次發布時解除端口占用。
這樣構建過程就完成了。以后每次有修改,只要把代碼提交到git服務器,點擊構建就能實現代碼的自動拉取同步,程序的自動發布,網站的啟動。
輸入地址 http:localhost:5000 就能直接訪問,當然也可以運用nginx反向代理進行綁定訪問。