2009-08-08 7 views
1

저는 SharePoint를 처음 사용합니다. 셰어 포인트 배포에 관한 몇 가지 질문이 있습니다. 어떤 사람이이 쿼리에 대해 저를 명확히한다면 그것은 당신에게 좋을 것입니다.SharePoint 한 서버에서 다른 서버로 배포

하나의 셰어 포인트 응용 프로그램/사이트를 한 서버에서 다른 서버로 배포해야합니다. . asp.net을 통해 만든 .ascx, .dll webparts 및 응용 프로그램에있는 workfolwsetc와 같은 파일이 많이 있습니다. 한 서버에서 다른 서버로 모든 파일을 어떻게 배포해야합니까? 이것은 테스트 용입니다 (다른 서버). 또한 프로젝트에 10 개 이상의 솔루션 파일 (모든 파일 포함)이 있습니다.

나는 대상, makecab 등을 사용하는 것과 같은 다른 사이트를 통해 어떤 일을 시도했지만 약간 혼란 스럽다. 내 응용 프로그램에 매니페스트 파일이 없으며 하나 이상의 솔루션 파일이 있으므로 개별 솔루션이나 프로젝트를위한 자체 매니페스트 파일을 작성해야합니까, 아니면 develepor에서 제공해야합니까? ddf에서 기능, 워크 플로우 xml의 경로 여야합니다. wsp 파일을 배포 할 위치. 또한 wsp 파일을 서버에 배포 한 후 사이트를 채우는 절차는 무엇입니까?

대상 서버에있는 모든 사이트를 다시 만들어야합니까?

배포 용으로 사용할 수있는 무료 도구가 있습니까? 그렇다면 우리는 배포 할 수있는 부분 : 웹 파트 또는 워크 플로?

이 활동에 NAnt를 사용할 수 있습니까?

미리 감사드립니다.

+0

추가 다시 한번 확인하기 위해...귀하의 게시물은 wsp 솔루션의 형태로 모든 응용 프로그램 파일을 배포하지 않았 음을 의미합니다. 위험한 방식으로 이처럼 배포 된 일부 응용 프로그램을 다른 서버에 성공적으로 배포하려는 경우이를 촉진하기 위해 수행 할 수있는 작업은 무엇입니까? 지루한 문제처럼 보입니다. –

답변

1

stsadm을 사용하면 한 서버에서 다른 서버로 콘텐츠 데이터베이스를 복사 할 수 있습니다. 이 작업은 확실히 nant로 자동화 될 수 있습니다 (이것이 우리가하는 일입니다).

stsadm -o backup을 사용하면 콘텐츠 및 구성 데이터베이스의 백업을 만들 수 있습니다. 그런 다음 stsadm -o restore으로 복원합니다. 예를 들어 :

stsadm -o backup -url http://yoururl -filename prodsite.dat -overwrite

I

stsadm -o restore -url http://newurl -filename prodsite.dat -overwrite

매우SharePoint 2007 Administration을 추천합니다. 자신이하는 일을 모를 경우 SharePoint 설치를 매우 쉽게 수행 할 수 있습니다.

+0

감사합니다. 그것은 콘텐츠 데이터베이스를 의미합니까? 모든 dll, ascx, webparts, xml 파일은 콘텐츠 데이터베이스 아래에 있습니까? 제발 분명히 해주세요. –

+0

개의 검색어가 더 있습니다. stsadm이 콘텐츠 데이터베이스를 복사하는 방법을 설명합니다. 폴더 구조 (계층 구조)를 유지해야합니까? dll에 대한 web.config 파일 항목을 신경 써야합니까? –

+0

콘텐츠 데이터베이스는 SharePoint가 연결되는 SQL Server에 저장됩니다. 여기에는 SharePoint 사이트에서 볼 수있는 SharePoint 사이트의 모든 콘텐츠가 들어 있습니다. –

1

모든 파일이 솔루션 (WSP) 인 경우 해당 파일을 다른 서버로 옮깁니다. 그런 다음 원래 콘텐츠 데이터베이스의 SQL Server에서 백업을 만들고 새 환경의 데이터베이스 서버에 복원하여 콘텐츠 데이터베이스를 복사합니다. 그런 다음 새 시스템에서 웹 응용 프로그램을 다시 작성하고 방금 복원 된 데이터베이스의 이름과 일치하도록 컨텐츠 데이터베이스의 이름을 지정하십시오. 그런 다음 웹 응용 프로그램을 수정하는 솔루션을 배포하십시오.

편집

// Web.config의 MOD

SPWebConfigModification modification = GetModification(key, value); 
if (!webApp.WebConfigModifications.Contains(modification)) 
{ 
    webApp.WebConfigModifications.Add(modification); 
    webApp.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications(); 
    webApp.Update(); 
} 

AND (얼마 전에 인터넷에서이 있음) GetModification 방법

private static SPWebConfigModification GetModification(string key, string value) 
{ 
    if (string.IsNullOrEmpty(key)) 
    { 
    throw new ArgumentNullException("key", "The key parameter is mandatory"); 
    } 

    if (string.IsNullOrEmpty(value)) 
    { 
    throw new ArgumentNullException("value", "The value parameter is mandatory"); 
    } 

    var modification = new SPWebConfigModification 
    { 
    Name = String.Format(CultureInfo.InvariantCulture, @"add[@key=""{0}""]", key), 
    Path = "configuration/appSettings", 
    Value = String.Format(CultureInfo.InvariantCulture, @"<add key=""{0}"" value=""{1}"" />", key, value), 
    Owner = Assembly.GetExecutingAssembly().FullName, 
    Sequence = 0, 
    Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode 
    }; 
    return modification; 
} 
+0

귀하의 의견을 보내 주셔서 감사합니다. 내 모든 파일의 wsp를 만들 수 있습니까? 만약 그렇다면 어떤 파일을 내가 wsp를 만들고 wsp를 만드는 절차는 무엇입니까? –

+0

WSPBuilder를 확인하십시오! – walming

+0

Walm3864가 말했듯이, WSPBuilder는 당신이 google for WSPBuilder를 사용한다면 codeplex에서 찾을 수 있고 충분한 튜토리얼을 링크 할 수 있습니다. – Colin

관련 문제