"Salesforce Migration Tool"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글 (‘Salesforce Migration Tool’ 문서를 보호함 [edit=autoconfirmed:move=autoconfirmed])
 
잔글
94번째 줄: 94번째 줄:
 
  ant deployTest
 
  ant deployTest
  
==참고 문헌==
+
== 참고 문헌 ==
 +
== SuiteCRM 지원 업체 ==
  
[[Category:Salesforce]]
+
<span style="color: rgb(102, 102, 102); font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 15px;">아래 담당자에게 연락하여 주시면, 빠르고 친절하게 전문적인 답변을 드리겠습니다.</span>
[[Category:CRM]]
+
 
[[Category:Cloud]]
+
{| style="box-sizing: border-box; margin: 0px 0px 20px; padding: 0px; border: 0px rgb(225, 225, 225); font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; line-height: inherit; font-family: Arial, Helvetica, Verdana, sans-serif; vertical-align: baseline; border-collapse: collapse; border-spacing: 0px; width: 98%; background: rgb(252, 252, 252); color: rgb(102, 102, 102);"
 +
|- style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px rgb(225, 225, 225); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border: 1px solid rgb(225, 225, 225); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" | 영업 문의
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: 1px solid rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" | sales@obcon.biz
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: 1px solid rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" | 010-4667-1106
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: 1px solid rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline;" | 영업 대표
 +
|- style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px rgb(225, 225, 225); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background-color: rgb(255, 255, 255); color: rgb(145, 145, 145);"
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: none rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: 1px solid rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" | 기술 문의
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: none rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" | tech@obcon.biz
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: none rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" |
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: none rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline;" | 구축/컨설팅 담당
 +
|- style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px rgb(225, 225, 225); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: none rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: 1px solid rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" | 고객 지원
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: none rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" | support@obcon.biz
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: none rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; text-align: center;" |
 +
| style="box-sizing: border-box; margin: 0px; padding: 9px 12px; border-top: none rgb(225, 225, 225); border-right: 1px solid rgb(225, 225, 225); border-bottom: 1px solid rgb(225, 225, 225); border-left: none rgb(225, 225, 225); border-image: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline;" | 고객 지원 담당<br/><br/>
 +
|}
 +
 
 +
[[Category:Salesforce|Category:Salesforce]]<br/>[[Category:CRM|Category:CRM]]<br/>[[Category:Cloud|Category:Cloud]]

2018년 1월 31일 (수) 13:10 판

Apache Ant를 사용하여 Apex Code를 deploy, undeploy하는 Windows 콘솔 기반의 Force.com 마이그레이션 도구인 Force.com Migration Tool을 정리 합니다.

Force.com Migration Tool 설치

사전 준비 사항

Migration Tool 설치

  • "설정 -> App 설정 -> 개발 -> 도구" 메뉴에서 "Force.com 마이그레이션 도구" 링크를 선택 하여 설치 프로그램(salesforce_ant_23.0.zip)을 다운로드 합니다.
  • 다운로드 받은 파일의 압축을 풀어서 저장 합니다.
  • ant-salesforce.jar 파일을 $ANT_HOME/lib/ 폴더로 복사 합니다.

Salesforce Ant Task 구조

  • 디렉토리 구조 및 파일 구조
  • build.properties
  • sf.username에 세일즈포스닷컴 로그인 아이디를 설정한다.
  • sf.password에 세일즈포스닷컴 로그인 암호를 설정한다. Windows에서 작업을 하므로 암호뒤에 보안 토큰을 붙여서 사용하여야 한다.
보안 토큰은 세일즈포스닷컴에 로그인하여 "설정 -> 개인 설정 -> 내 개인 정보 -> 내 보안 토큰 재설정" 메뉴에서 새로 발급할 수 있다.
  • build.xml
<target name="deployCode">
    <sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" deployroot="codepkg">
        <runTest>SampleDeployClass</runTest> : 여기에 deploy시 Trigger를 테스트할 Class를 지정한다.
    </sf:deploy>
</target>
deployroot는 설치할 패키지명(폴더명)을 지정한다.
예를 들어 계정(account)과 관련된 Apex Code의 경우 account로 설정을 하고 $ApexCode_HOME/account 폴더를 만들어 작업을 한다.
runTest에 Trigger를 테스트할 Class를 지정한다.
<target name="undeployCode">
    <sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" deployroot="removecodepkg"/>
</target>
deployroot는 삭제할 패키지명(폴더명)을 지정한다.
예를 들어 계정(account)과 관련된 Apex Code의 경우 accountRemove로 설정을 하고 accountRemove 폴더를 만들어 작업을 한다.
  • codepkg 디렉토리
  • 도스창에서 ant deploy 명령을 사용하여 Apex Code를 deploy한다.
  • package.xml 파일
fullName에 deploy시에 사용할 팩키지명(폴더명)을 지정한다.
<types>
    <members>SampleDeployClass</members>      : 여기에 deploy할 Class를 지정한다.
    <members>SampleFailingTestClass</members> : 여기에 deploy할 Class를 지정한다.
    <name>ApexClass</name>
</types>
<types>
    <members>SampleAccountTrigger</members> : 여기에 deploy할 Trigger를 지정한다.
    <name>ApexTrigger</name>
</types>
  • classes 폴더 : Apex Code 중 Class 파일을 저장
  • SampleDeployClass.cls : deploy할 Class 파일을 작성한다.
  • SampleDeployClass.cls-meta.xml : 수정하지 않고 그대로 사용한다.
  • triggers 폴더 : Apex Code 중 Trigger 파일을 저장
  • SampleAccountTrigger.trigger : deploy할 Trigger 파일을 작성한다.
  • SampleAccountTrigger.trigger-meta.xml : 수정하지 않고 그대로 사용한다.
  • removecodepkg 디렉토리
  • 도스창($ApexCode_HOME)에서 ant undeploy 명령을 사용하여 Apex Code를 undeploy한다.
  • package.xml 파일
fullName을 deploy시에 사용한 fullName으로 수정한다.
  • destructiveChanges.xml 파일
deploy시에 사용한 package.xml 파일의 내용을 여기에 복사한다. 만일 전체를 삭제하지 않을 경우에는 members 중에서 삭제할 members만 남겨둔다.

실행 환경 구성

Force.com Migration Tool의 실행 환경을 구성 합니다.

  • build.properties
sf.serverurl = https://login.salesforce.com
sf.username = 로그인 아이디
sf.password = 비밀번호
  • build.xml
<project name="SFDC Library" default="deployD1" 
        basedir="." xmlns:sf="antlib:com.salesforce">
   <property file="build.properties" />
   <property environment="env" />

   <target name="retrieveSalesTarget">
       <echo message="SalesTarget : from Develop 1" />
       <mkdir dir="SalesTarget" />
       <sf:retrieve username="${sf.userD1}" password="${sf.passwordD1}" 
           serverurl="${sf.serverurl}" 
           packageNames="SalesTarget" retrieveTarget="SalesTarget" />
   </target>

   <target name="deployTest" depends="retrieveSalesTarget">
       <echo message="RollupSummary : from Develop 1 to Develop 2" />
       <sf:deploy retrieve username="${sf.userD1}" password="${sf.passwordD1}" 
           serverurl="${sf.serverurl}" deployRoot="SalesTarget" />
   </target>
</project>
  • Force.com Migration Tool 실행
ant deployTest

참고 문헌

SuiteCRM 지원 업체

아래 담당자에게 연락하여 주시면, 빠르고 친절하게 전문적인 답변을 드리겠습니다.

영업 문의 sales@obcon.biz 010-4667-1106 영업 대표
기술 문의 tech@obcon.biz 구축/컨설팅 담당
고객 지원 support@obcon.biz 고객 지원 담당