利用nuget離線緩存構(gòu)建net core項(xiàng)目

最近,公司的網(wǎng)絡(luò)策略有所調(diào)整,之前通過Jenkins自動(dòng)構(gòu)建的項(xiàng)目,都不能正常訪問

https://nuget.cdn.azure.cn/v3/index.json地址,于是就有了此文章介紹的方法,利用nuget離線緩存進(jìn)行項(xiàng)目的自動(dòng)構(gòu)建

nuget離線緩存

找一臺可以連接外網(wǎng)的服務(wù)器,然后創(chuàng)建一個(gè)目錄,這里我不創(chuàng)建,就利用nuget默認(rèn)的緩存目錄(~/.nuget/packages),當(dāng)然也可以設(shè)置nuget緩存的目錄為其他的目錄,大家可以自行設(shè)置。

此時(shí),可以在其他的目錄創(chuàng)建一個(gè)控制臺的項(xiàng)目,項(xiàng)目名字大家隨便起,就是是為了能夠方便下載nuget包(如果大家還有其他更好的方法,可以評論區(qū)討論)

dotnet new console -o downloadnugetpackages

創(chuàng)建完了,之后,如果想要緩存那個(gè)nuget包,我們就可以通過:

dotnet add package Newtonsoft.Json --version13.0.1

這樣我們就能看到~/.nuget/packages目錄下已經(jīng)有了Newtonsoft.Json包


設(shè)置目錄共享

將~/.nuget/packages目錄作為共享目錄,這樣其他的內(nèi)網(wǎng)服務(wù)器就能通過掛載該共享目錄進(jìn)行文件的讀取。

在linux中利用nfs進(jìn)行文件的共享掛載,需要進(jìn)行如下的操作:

1. 安裝nfs包

sudo yum install nfs-utils

2. 創(chuàng)建共享目錄,例如:

mkdir -p /data/sharedata

chmod -R a+r /data/sharedata//確保其他的用戶有讀取的權(quán)限

由于我這里的目錄是:~/.nuget/packages,我只需要操作如下命令即可:

chmod -R a+r ~/.nuget/packages

3. 編輯配置文件

vi /etc/exports

輸入:/root/.nuget/packages 192.168.20.11(rw,insecure) ,根據(jù)自己的情況填寫,

/root/.nuget/packages:是被共享的目錄,大家最好不使用root賬戶,這里只是作為展示,實(shí)際應(yīng)用中不推薦

192.168.20.11:需要訪問該共享目錄的IP地址

rw:配置讀寫權(quán)限

4. 配置生效

exportfs-r

5. 啟動(dòng)服務(wù)

systemctlstart nfs

6. 設(shè)置開機(jī)啟動(dòng)

chkconfignfson或者 systemctl enable nfs

7. 查看共享文件夾是否存在

showmount-e

客戶端掛載

1. 創(chuàng)建掛載目錄:

mkdir -p /data/sharedata

2. 安裝nfs

sudoyum install nfs-utils

3. 掛載

mount192.168.20.12:/root/.nuget/packages /data/sharedata

4. 設(shè)置開機(jī)自動(dòng)掛載

vi/etc/fstab92.168.20.12:/root/.nuget/packages/data/sharedatanfsdefaults00mount-a//使配置生效

利用本地緩存構(gòu)建項(xiàng)目

在客戶端服務(wù)器上,已經(jīng)有了nuget包的緩存,就可以在執(zhí)行構(gòu)建項(xiàng)目的時(shí)候指定緩存目錄:

dotnetrestore--source /data/sharedatadotnetpublish--no-restore? ....

至此,問題得以解決,不用再擔(dān)心nuget官網(wǎng)解析不了的問題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容