Subversion을 사용하여 PHP 프로젝트의 프로덕션 빌드 만들기
-
08-06-2019 - |
문제
PHP(또는 다른 프로그래밍 언어)로 작업 중이고 Subversion을 소스 제어로 사용하는 경우 프로젝트를 수행할 수 있는 방법이 있습니까(예:):
C:\프로젝트\테스트\.svn
C:\프로젝트\테스트\docs\
C:\Projects est\faq.php
C:\Projects est\guestbook.php
C:\프로젝트 est\index.php
C:\프로젝트 est est.php
빌드/복사/무엇이든 특정 파일을 제거하고 다음과 같이 됩니다.
C:\Projects est\faq.php
C:\Projects est\guestbook.php
C:\프로젝트 est\index.php
자동으로?나는 브랜치를 만들고 그 브랜치를 통과하여 모든 ".svn" 폴더, docs 디렉토리 및 프로토타입 파일을 삭제하는 것에 지쳤습니다.
나는 .bat 파일을 사용하여 내가 원하는 특정 파일만 복사할 수 있다는 것을 알고 있지만 파일을 의사 무시하는 일종의 전복 방법이 있기를 바랐습니다. 여전히 버전을 지정할 수 있지만 어디에서 만들 수 있습니까? 의사 무시하도록 지정한 파일을 무시하는 프로젝트의 스냅샷.
적어도 .svn 폴더 없이 복사할 수 있는 일부 기능에 대해 온라인 어딘가에서 읽었다는 것을 알고 있지만 지금은 찾을 수 없습니다.
해결책
TortoiseSVN을 사용하는 경우 내보내기 기능을 사용하여 모든 .svn 파일을 자동으로 제거할 수 있습니다.다른 svn에도 동일한 기능이 있다고 생각합니다.
루트 프로젝트 폴더 TortoiseSVN > 내보내기를 마우스 오른쪽 버튼으로 클릭하고 .svn 무료 디렉터리를 원하는 위치를 지정합니다.
다른 팁
좋습니다. 최종 해결책은 다음과 같습니다.
내보내기 명령을 사용하여 "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/