3
我正在嘗試使用Jenkins自動構建過程。如何讓Jenkins在遠程服務器上執行刪除
到目前爲止,我已經設法讓Jenkins從BitBucket構建一個項目,運行測試並使用通過SSH發佈插件將文件上傳到生產服務器。
當我從我的git倉庫中刪除文件時,我想要在遠程服務器上刪除這些文件。有幾種方法,我已經考慮過這樣做了。
擦除生產服務器上的所有文件,然後上傳最新的生成版本。
- 對我來說似乎是一個不好的解決方案,因爲這會導致比我想要的更多的停機時間。
創建一個腳本,該腳本位於遠程服務器上,在新構建過程後清理這些文件。我需要從git(以某種方式?)找出該提交中刪除的文件是什麼。
不是讓Jenkin使用通過ssh插件發佈,而是將git安裝在生產服務器上,所以在成功構建之後,我們可以讓Jenkins(以某種方式?)將項目推送到git生產服務器。
這似乎是開發人員常見的任務,我覺得我在這裏錯過了一些東西。有沒有這方面的標準做法。
你必須區分,如果這是一個Dev沙盒服務器,或生產現場機器。對於Production,始終從明確定義的包中進行部署,即刪除舊的,上傳新的。您可以配置各種'diffs'和'rsync'來上傳*差異。對於開發沙箱,在服務器中直接使用'git'沒有任何錯誤,並且在'git'中更改文件時更新它。 – Slav
對於生產,您建議我應該刪除整個軟件包?目前Jenkins需要將近一個小時才能上傳,這是否正常? –
正常?取決於您的包裝大小,網絡帶寬和使用的協議。 *如果「手動」完成,將*文件上傳到服務器的「正常」時間是什麼? – Slav