作為一個開發人員,更新一直是發佈代碼,打包直接扔給運維部署;為了方便我們開發人員自己更新測試環境的代碼,運維弄了一個FTP上傳,寫腳本監控我們文件的變化來自動更新。 直到有一天,運維跟我說:“他們JAVA發佈都是直接發佈Docker鏡像的,你們能不能也直接把鏡像文件給我“。 經過一番查詢,VS作為宇 ...
作為一個開發人員,更新一直是發佈代碼,打包直接扔給運維部署;為了方便我們開發人員自己更新測試環境的代碼,運維弄了一個FTP上傳,寫腳本監控我們文件的變化來自動更新。
直到有一天,運維跟我說:“他們JAVA發佈都是直接發佈Docker鏡像的,你們能不能也直接把鏡像文件給我“。
經過一番查詢,VS作為宇宙第一編譯器,那必然可以。
一、如果是在Window系統上進行開發,需要先安裝Docker for Windows
Docker for Windows需要Hyper-V的支持,一單打開這個,VMware 就無法運行,兩者不相容。需要用到VMware的同學要自己解決了。
二、添加Docker支持
選擇對應的目標OS,VS會自動生成Dockerfile文件
內容大致是根據.net core的版本選擇依賴鏡像做底,將所需要的文件複製到工作區,拉取nuget依賴項,編譯併發布。
如果在項目中有個人的或多個不同的nuget源地址,在拉取依賴項的時候在後面指定nuget.config文件
如果需要配置環境變數,也可以做如下修改
三、發佈到鏡像倉庫
發佈,選擇容器註冊表,選擇自定義,創建配置文件,填好運維同學發你的項目地址
至此VS部分發佈前準備工作已經完成。
四、發佈並推送到鏡像倉庫
1、第一次發佈會拉取依賴鏡像的底,國內拉取相當慢。為了省事,我從運維的鏡像倉庫那拉取了之前下載好的鏡像
2、推送鏡像預設需要https支持,可以直接修改insecure-registries。 Docker for Windows 可視化界面操作相當簡單,更新了新版的界面是這樣的