2009-06-08 8 views
6

सबवर्सन और सीए हार्वेस्ट एससीएम को कैसे एकीकृत किया जाए यदि सबवर्सन का उपयोग टीम में काम सिंक करने और रिकॉर्ड के एंटरप्राइज़ सिस्टम के रूप में हार्वेस्ट का उपयोग करने के लिए किया जाता है?सिंक सबवर्जन और हार्वेस्ट एससीएम भंडार?

एक दृष्टिकोण जिसकी मैं जांच कर रहा हूं वह एक स्क्रिप्ट तैयार कर रहा है जो हार्वेस्ट में एक एसवीएन टैग लोड करता है, लेकिन अगर किसी और ने ऐसा कुछ किया है या समस्या से निपटने का एक बेहतर तरीका है तो उत्सुक हूं।

+0

... जाहिरा तौर पर नहीं! – cwash

+0

यदि आप एक अच्छे उत्तर के साथ आते हैं, तो कृपया इसे पोस्ट करें। :-) –

उत्तर

4

मैंने सबवर्सन टू हार्वेस्ट को सिंक्रनाइज़ करने के लिए एक स्क्रिप्ट तैयार की। हमें दूसरी तरफ सिंक्रनाइज़ करने की ज़रूरत नहीं है, लेकिन इसके बजाय स्क्रिप्ट को बदलना मुश्किल नहीं होगा। आप यहां स्क्रिप्ट देख सकते हैं ->http://developerdad.com/2011/03/28/synchronize-subversion-to-ca-allfusion-harvest/

हम इस जेनकिंस (पूर्व में हडसन) सीआई सर्वर के साथ इस स्क्रिप्ट का उपयोग कर रहे हैं, इसलिए एक नया हार्वेस्ट पैकेज बनाया गया है (जेनकिंस द्वारा% JOB_NAME% चर सेट द्वारा नामित) प्रत्येक उत्पादन निर्माण के साथ चलाया जाता है।

अद्यतन

वेबसाइट रहा है और नीचे है, तो यहां स्क्रिप्ट है:

@echo off 

REM ########################################################################### 
REM # 
REM # Script file to move changes from Subversion to Harvest 
REM # 
REM ########################################################################### 

if "%1" == "" goto usage 

setlocal 

set PROJECT_STAGE=-b "" -en "" -st "" 
set VIEW=-vp "" 
set CREDENTIALS=-usr "" -pw "" 
set SUBVERSION_REPO=svn:////trunk/ 

REM Clean up any build artifacts if present 
call ant clean 

REM Create Harvest package 
hcp %1 %PROJECT_STAGE% %CREDENTIALS% 

REM Delete the checked-out Subversion code 
REM Note: You will need to remove everything (except this file of course), so more rmdir or del statements may be required below 
rmdir /S /Q project 

REM Check out the files in Harvest to modify 
hco * %PROJECT_STAGE% %CREDENTIALS% %VIEW% -p "%1" -pn "Check Out Files for Update" -up -r -s * -op pc -cp %CD% 

REM Delete the checked-out Harvest code 
REM Note: You will need to remove everything (except this file of course), so more rmdir or del statements may be required below 
rmdir /S /Q project 

REM Replace with the latest code from Subversion repository 
svn co %SUBVERSION_REPO% . 

REM Delete the .svn directories 
for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *svn') do (
    rd /s /q "%%i" 
) 

REM What are the updates for Harvest? Check them into Harvest 
hci * %PROJECT_STAGE% %CREDENTIALS% %VIEW% -p "%1" -pn "Check In Modified Files" -s * -ur -de "Added in Subversion" -if ne -op pc -cp %CD% 

REM Remove the log files from Harvest 
REM Note: You may need to change or remove this statement depending on whether you want the Harvest logs checked in 
hdv *.log %PROJECT_STAGE% %CREDENTIALS% %VIEW% -pn "Delete Versions" 

REM What removals from Harvest do we need to process? (What files were deleted in Subversion?) 
hsv %PROJECT_STAGE% %CREDENTIALS% %VIEW% -p "%1" -it r -s "*" 

REM This will not work if the file path has spaces in it. You can use %%j %%k ... in the -vp switch for one space in your project name (For example, if you have 2 spaces, it should be -vp %%j %%k %%l) 
for /f "tokens=1-5 skip=3" %%i in (hsv.log) do (
    if not "%%i"=="hsv" (
     hci "%%i" %PROJECT_STAGE% %CREDENTIALS% -vp "%%j" -p "%1" -pn "Check In Modified Files" -ro -cp %CD% 
     hri "%%i" %PROJECT_STAGE% %CREDENTIALS% -vp "%%j" -p "%1" 
    ) 
) 

REM remove read-only attribute from all files 
attrib -r -h * /s 

REM delete all harvest.sig files 
del /f /s /q harvest.sig 

endlocal 

goto end 

:usage 

echo USAGE: 
echo ----------------------------------------------------------------------------- 
echo "svn2harvest {package_name}" 
echo ----------------------------------------------------------------------------- 

:end 
+0

मीठा! ऐसा करने का यह एक तरीका है। – cwash

1

मुझे पता है कि विचलन के साथ आप सर्वर को प्रत्येक प्रतिबद्धता पर एक स्क्रिप्ट चलाने के लिए कॉन्फ़िगर कर सकते हैं, जो सीए हार्वेस्ट पर कुछ फ़ंक्शंस कॉल करने में सक्षम हो सकता है।

यदि आप ग्रहण का उपयोग कर रहे हैं तो एक और विकल्प Mylyn का उपयोग करके एकीकृत करना होगा। माइलिन सबवर्सन के साथ एकीकृत करता है और मुझे लगता है कि सीए हार्वेस्ट के लिए एक ग्रहण प्लगइन है - शायद वे सभी अच्छी तरह से मिलकर काम करेंगे?

0
@ECHO OFF 

REM By Developer Dad 

REM ########################################################################### 
REM # 
REM # Archivo script para mover los cambios desde el SVN al Harvest 
REM # 
REM ########################################################################### 

IF "%1" == "" GOTO usage 

REM Enable local environment to be changed without affecting anything else 
REM 
SETLOCAL 

SET PROJECT_STAGE=-b "" -en "" -st "" 
SET VIEW=-vp "" 
SET CREDENTIALS=-usr "" -pw "" 
SET SUBVERSION_REPO=svn:////trunk/ 

REM Clean up any build artifacts if present 
REM 
CALL NAnt clean 

REM Create Harvest package 
REM 
HCP %1 %PROJECT_STAGE% %CREDENTIALS% 

REM Delete the checked-out Subversion code 
REM Note: You will need to remove everything (except this file of course), so more RMDIR or del statements may be required below 
REM 
RMDIR /S /Q project 

REM Check out the files in Harvest to modify 
REM 
HCO * %PROJECT_STAGE% %CREDENTIALS% %VIEW% -p "%1" -pn "Check Out Files for Update" -up -r -s * -op pc -cp %CD% 

REM Delete the checked-out Harvest code 
REM Note: You will need to remove everything (except this file of course), so more RMDIR or del statements may be required below 
REM 
RMDIR /S /Q project 

REM Replace with the latest code from Subversion repository 
REM 
SVN co %SUBVERSION_REPO% . 

REM Delete the .svn directories 
REM 
FOR /f "tokens=* delims=" %%i IN ('DIR /s /b /a:d *svn') DO (
    RD /s /q "%%i" 
) 

REM What are the updates for Harvest? Check them into Harvest 
REM 
HCI * %PROJECT_STAGE% %CREDENTIALS% %VIEW% -p "%1" -pn "Check In Modified Files" -s * -ur -de "Added in Subversion" -if ne -op pc -cp %CD% 

REM Remove the log files from Harvest 
REM Note: You may need to change or remove this statement depending on whether you want the Harvest logs checked in 
REM 
HDV *.log %PROJECT_STAGE% %CREDENTIALS% %VIEW% -pn "Delete Versions" 

REM What removals from Harvest do we need to process? (What files were deleted in Subversion?) 
REM 
HSV %PROJECT_STAGE% %CREDENTIALS% %VIEW% -p "%1" -it r -s "*" 

REM This will not work if the file path has spaces in it. You can use %%j %%k ... in the -vp switch for one space in your project name (For example, if you have 2 spaces, it should be -vp %%j %%k %%l) 
REM 
FOR /f "tokens=1-5 skip=3" %%i IN (hsv.log) DO (
    IF NOT "%%i"=="hsv" (
     HCI "%%i" %PROJECT_STAGE% %CREDENTIALS% -vp "%%j" -p "%1" -pn "Check In Modified Files" -ro -cp %CD% 
     HRI "%%i" %PROJECT_STAGE% %CREDENTIALS% -vp "%%j" -p "%1" 
    ) 
) 

REM remove read-only attribute from all files 
REM 
ATTRIB -r -h * /s 

REM delete all harvest.sig files 
REM 
DEL /f /s /q harvest.sig 

ENDLOCAL 

GOTO end 

:usage 

ECHO USAGE: 
ECHO ----------------------------------------------------------------------------- 
ECHO "svn2harvest {package_name}" 
ECHO ----------------------------------------------------------------------------- 

:end 
संबंधित मुद्दे