windows + jenkins + .net core + iis自動化部署新手入門


環境准備

Windows10操作系統

Git Server確保已安裝

IIS 10確保已安裝

.net core sdk3.1確保已安裝

ASP.NET Core 3.1 Runtime (v3.1.5) - Windows Hosting Bundle Installer確保已安裝

 

說明:我的項目是基於.net core3.1的,通過IIS 10做代理。所以.net core sdkIISWindows Hosting Bundle Installer都是需要安裝的。

下載

下載地址:https://www.jenkins.io/download/

截止目前最新版:2.235.1

 

安裝

直接雙擊jenkins.msi文件,采用默認設置,直到完成。但是我將Jenkins安裝在了E盤。

jenkins.msi安裝好之后,會自動打開瀏覽器,並訪問:http://localhost:8080

注意:如果8080端口已被其它應用占用,可以把占用8080端口的應用停掉;或者修改jenkins.xml文件,使用其它端口。

配置Jenkins插件下載鏡像

等待幾秒,直到安裝目錄發現有hudson.model.UpdateCenter.xml文件。

這個時候到windows服務列表,停止Jenkins服務。

然后打開hudson.model.UpdateCenter.xml文件。

修改鏡像:<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>

重新啟動Jenkins服務。

再次打開http://localhost:8080,稍等會跳轉到http://localhost:8080/login?from=%2F頁面。

注意:期間會不斷的去請求這個地址,不用管。據說是因為jenkins的后台訪問了國外的地址,但訪問不了導致的。

解鎖Jenkins

然后會要求你解鎖Jenkins,打開指定文件,復制粘貼進去即可。

安裝Jekins插件

選擇自定義Jenkins,如果選擇推薦插件,不僅要等很久,而且會有很多裝不上。

 

選擇無,一個插件都不裝。

創建管理員

FullName是登錄后右上角顯示的名字。

實例配置

 

至此Jenkins第一步算是配置完成。

漢化Jenkins

英語水平好的話,無需漢化。

點擊左側菜單Manage Jenkins,然后點擊右側Manage Plugins

進去之后,選擇Available。如下圖 :

當出現:Use the search field above to search for available plugins.表示可以在搜索框搜索了。我們輸入:Localization: Chinese (Simplified)

 

安裝完之后,地址欄輸入:http://localhost:8080/restart 重新啟動。重啟成功后看到的就是漢化之后的界面了。

如果安裝失敗,可訪問:https://plugins.jenkins.io/,單獨下載。具體看下面:

選擇最新的就行了。

下載下來后,是個localization-zh-cn.hpi文件。

點擊主頁的Manage Plugins,進去后選擇Advance選項卡。將下載的文件上傳上去即可,如下圖:

 

地址欄輸入:http://localhost:8080/restart 重新啟動。

安裝Git插件

具體步驟和安裝漢化插件一樣。

漫長等待,如果有插件無法安裝,參考上面漢化方式處理。

地址欄輸入:http://localhost:8080/restart 重新啟動。

全局配置

如果Path to Git executable配置為git.exe不行的話,填寫安裝路徑也是可以的。

我的是:C:\Program Files\Git\bin\git.exe

新建任務

使用Freestyle project。目前也就這一個。

源碼管理

 

此處選擇你的git遠程倉庫地址、賬號密碼、分支

構建觸發器

勾選:Poll SCM,時間設置成:H/2 * * * *

意思是每2分鍾檢查git是否有變化,如果有變化就會重新構建和部署。

構建

選擇使用windows批處理命令:Execute Windows batch command

注意:我們是.net core應用,且部署到windows操作系統。所以不能選擇其它的腳本命令,只能使用windows批處理命令。

而且我們是部署在IIS上的,所以就有了本文開頭環境准備里面的安裝Windows Hosting Bundle Installer。用它來做代理,真正代理到我們的.net core應用。所以在構建之前我們還要做一件事情,在IIS上添加好站點:saas。站點目錄為:D:\subendong\release\saas。也就是我們自動化部署時發布的目錄。且應用程序池為非托管模式。

命令一內容:

C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:saas

關閉應用程序池:saas

命令二內容:

e:

cd E:\Jenkins\workspace\test\aspnet-core

dotnet build

dotnet publish -o D:\subendong\release\saas

定位到E

定位到aspnet-core目錄,git拉下來的代碼在test目錄下,但是aspnet-core才是解決方案所在目錄。

dotnet命令構建

dotnet命令發布

命令三內容:

C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:saas

啟動應用程序池:saas

 

另外,上面三個步驟可以合在一個步驟里面的,具體如下:

e:

cd E:\Jenkins\workspace\test\aspnet-core

dotnet build

C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:saas

dotnet publish -o D:\subendong\release\saas

C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:saas

至此,大功告成,洗洗睡覺。

 

 

參考網址:

jenkins鏡像:https://www.cnblogs.com/zxcnn/p/11703662.html

jenkins安裝插件的兩種方式:https://www.jianshu.com/p/3b5ebe85c034

jenkins之插件下載方法:https://www.cnblogs.com/happyuu-2019/p/11433502.html

jenkins設置中文顯示:https://www.cnblogs.com/jpfss/p/11733664.html

jenkins構建觸發器定時任務Build periodically和Poll SCM【轉載】:https://www.cnblogs.com/caoj/p/7815820.html

Jenkins構建基於.NET Core的web程序:https://www.cnblogs.com/cluyun/p/11286335.html

根據端口號殺死進程:https://www.cnblogs.com/xiaostudy/p/11674053.html

IIS 站點和應用池命令啟動和停止:https://www.cnblogs.com/jmaly/p/9860606.html

 


免責聲明!

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



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