首先先要設定完發佈設定檔 FolderProfile.pubxml
再來修改檔案內容
<Target Name="ExecuteBatAfterPublish" AfterTargets="AfterPublish">
<Exec Command="C:\Batch\WinToUbuntu.bat" WorkingDirectory="$(publishUrl)" />
</Target>
PS.記得 *.bat 檔案檔案屬性要選「永遠複製」不然執行階段會出現找不到批次檔的訊息
還有 *.bat 檔案在專案編譯後在根目錄下 Exec Command=WinToUbuntu.bat 可以不需要 *.bat 路徑。
批次檔內可以利用上次提到的 pscp 將檔案複製到遠端的 Ubuntu 伺服器內
就能做到一鍵發佈並更新遠端 Ubuntu 檔案
例如:
pscp -i "C:/ppk/ubuntu.ppk" -pw password *.* user@1.2.3.4:/home
plink 可以執行遠端的 Ubuntu 指令
例如:
plink -ssh -i ubuntu.ppk user@1.2.3.4 -pw password cd /home; ls;
PS.
1.寫完 *.bat 檔案,記得實際操作 pscp 與 plink 指令測試一次,這樣 Register 會記錄過授權記錄, *.bat 才能正常執行。
2.Windows 10 安裝 PuTTY 後,pscp 與 plink 的路徑會被引用,所以不需要複製 pscp 與 plink 的執行檔。