簡體   English   中英

使用 Subversion 構建 PHP 項目的生產版本

[英]Making a production build of a PHP project with Subversion

如果您正在使用 PHP(或者我猜是任何編程語言)並使用顛覆作為您的源代碼控制,有沒有辦法讓您的項目(例如):

C:\Projects\test\.svn
C:\Projects\test\docs\
C:\Projects\test\faq.php
C:\Projects\test\guestbook.php
C:\Projects\test\index.php
C:\Projects\test\test.php

並構建/復制/不管它,所以它會清除某些文件並變成:

C:\Projects\test\faq.php
C:\Projects\test\guestbook.php
C:\Projects\test\index.php

自動地? 我已經厭倦了創建一個分支,然后遍歷分支並刪除所有“.svn”文件夾、docs 目錄和我的原型文件。

我知道我可能可以使用 a.bat 文件來僅復制我想要的特定文件,但我希望有某種方式可以使用 subversion 來偽忽略文件,它仍然會對其進行版本化,但你可以在哪里制作忽略您告訴它偽忽略的文件的項目快照。

我知道我在網上某處讀到了一些功能,這些功能至少可以讓您在沒有 .svn 文件夾的情況下進行復制,但我現在找不到。

如果您使用 TortoiseSVN,您可以使用導出功能自動剝離所有 .svn 文件。 我認為其他 svn 東西具有相同的功能。

右鍵單擊根項目文件夾,然后 select TortoiseSVN > Export ,並告訴它您想要.svn自由目錄的位置。

手動復制所有文件或首次使用現有方法。 然后,因為我認為你在 Windows 平台上,安裝SyncToy並在subscribe 方法中配置它,這將有效地單向復制自上次偽提交到生產中已在生產中的文件以來所做的更改。 如果您想添加一個文件,您可以手動復制它並恢復 SyncToy 操作。

好的,所以我的最終解決方案是:

使用導出命令導出到與名為“deploy.bat”的文件位於同一目錄中的名為“export”的文件夾,然后我運行部署腳本(v1 代表版本 1,這是我目前在此使用的版本項目)此腳本使用 7-Zip,我已將其放在系統路徑中,因此我可以將其用作命令行實用程序:

rem replace the v1 directory with the export directory
rd /s /q v1
move /y export\newIMS v1
rd /s /q export

rem remove the prepDocs directory from the project
rd /s /q v1\prepDocs

rem remove the scripts directory from the project
rd /s /q v1\scripts

rem remove individual files from project
del v1\.project
rem del v1\inc\testLoad.html
rem del v1\inc\testInc.js

SET /P version=Please enter version number:

rem zip the file up with 7-Zip and name it after whatever version number the user typed in.
7z a -r v%version%.zip v1

rem copy everything to the shared space ready for deployment
xcopy v%version%.zip /s /q /y /i "Z:\IT\IT Security\IT Projects\IMS\v%version%.zip"
xcopy v1 /s /q /y /i "Z:\IT\IT Security\IT Projects\IMS\currentVersion"

rem keep the window open until user presses any key
PAUSE

我沒有時間查看 SyncToy 解決方案,所以不要認為這是我拒絕該方法。 我只知道如何做到這一點,並且沒有時間檢查那個(現在在時間緊迫的情況下)。

資料來源:

http://commandwindows.com/command2.htm
http://www.ss64.com/nt/

暫無
暫無

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

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