簡體   English   中英

如何將新的/更改的文件從開發服務器上傳到生產服務器?

[英]How to upload new/changed files from development server to the production one?

最近,我開始在開發工作流程中納入良好實踐,因此我將開發服務器和生產服務器分開。 我還合並了一個使用Subversion(Tortoise SVN)的版本控制系統。

現在,我的問題是將生產服務器(Apache共享托管)與本地計算機上最新開發版本的文件同步。

在我沒有這個問題之前,因為我是通過Filezilla直接處理服務器文件的。 但是,現在我不知道如何高效地傳輸文件,這方面的良好做法是什么。

我讀了一些有關Ant和Phing的文章,但不確定這是否適合我或是否不必要的復雜性。

Rsync是一個跨平台工具,旨在在這種情況下提供幫助; 我已經多次將它用於類似目的。 DevShed教程可能會有所幫助。

我不認為您要對其進行“授權”,而是要對部署和集成過程建立控制。 我通常喜歡SVN,但是它有一些錯誤,並且我遇到的一個問題是它不支持基准測試-相反,如果您想要建立一個穩定的版本以升級到更高的環境,則需要對存儲庫進行物理分支同時繼續推進行李箱

無論如何,您應該查看持續集成和Jenkins 這是一個相當廣泛的主題,無法給出具體答案。 有很多的東西,你有什么。 取決於您的應用程序平台,組件,是否要更改數據庫,是否要處理外部Web服務或第三方API等。

也許有更多結構化的解決方案,但是使用Tortoise SVN,您只能導出文件夾樹結構中版本之間更改的文件。 然后,像往常一樣在Filezilla中上傳。

看一下: http : //verysimple.com/2007/09/06/using-tortoisesvn-to-export-only-newmodified-files/

  • 使用TortoiseSVN,右鍵單擊您的工作文件夾,然后從TortoiseSVN菜單中選擇“顯示日志”。
  • 單擊最后發布的修訂
  • Ctrl +單擊HEAD修訂版(或要發布的任何修訂版),以便同時突出顯示新舊修訂版。
  • 右鍵單擊任一突出顯示的修訂,然后選擇“比較修訂”。這將打開一個對話框窗口,其中列出了所有新的/已修改的文件。
  • 從此列表中選擇所有文件(Ctrl + a),然后右鍵單擊突出顯示的文件,然后選擇“將選擇導出到…”。

邊注:

您必須打開有關工作流程和配置的更多詳細信息-適用的解決方案取決於它。 我在游戲中看到了4個主要節點:Workplace,Repo Server,DEV,PROD,有些節點可能是統一的(1 + 2、2 + 3),可能具有不同的工具集(您是否擁有SSH,Rsync,NFS,Subversion 客戶端)在DEV | PROD上)。 所有細節都很重要

無論如何,Subversion存儲庫都具有鈎子之類的東西,在您的情況下,可以使用提交后鈎子 (每次提交后在存儲庫服務器端執行)

如果使用此鈎子(可以在無人照管模式下執行的任何代碼),則可以定義和實施任何規則,以在任何條件下執行向任何目標的部署。 你只知道

  • 哪種傳輸方式將用於傳輸文件
  • 服務器上的Web空間是什么(僅是未轉換版本的干凈文件的工作副本-解決方案都有專業和反對集)-它會定義必須在鈎子中實現的部署策略(“導出”或“更新”)

腳本的某些鏈接 ,該腳本將受修訂(或修訂范圍)影響的文件導出到未版本控制的樹中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM