[Salesforce] Application Lifecycle

IamMilo·2024년 6월 2일
post-thumbnail

Application Lifecycle


애플리케이션의 개발 및 출시 프로젝트를 위한 단계별 접근 방식은 일반적으로 위와 같습니다. 각 단계에서의 핵심 활동을 요약하면 다음과 같습니다:

  • 1단계: 출시 계획 수립
    요구 사항 수집 및 분석: 프로젝트 시작 전, 제품 매니저(또는 해당 역할)가 요구 사항을 수집하고 분석합니다.
    설계 사양 작성: 제품 매니저가 설계 사양을 작성하고 이를 개발 팀과 공유합니다.
    개발 및 테스트 환경 결정: 프로젝트가 AIM(분석, 구현, 유지 관리) 주기를 거치면서 필요한 다양한 개발 및 테스트 환경을 결정합니다.
  • 2단계: 개발
    설계 사양에 따른 개발 수행: 설계 사양을 따라 작업을 완료합니다. 생산 환경의 메타데이터는 포함하지만, 실제 생산 데이터는 포함하지 않는 환경에서 작업을 진행합니다.
    Lightning Platform에서 개발: 선언적 도구(프로세스 빌더, 커스텀 오브젝트 마법사 등)와 프로그래밍 도구(개발자 콘솔, 소스 코드 편집기, Visual Studio Code 등)의 적절한 조합을 사용하여 개발합니다.
  • 3단계: 테스트
    변경 사항 테스트: 다른 사람의 작업과 통합하기 전에 의도한 대로 작동하는지 확인하기 위해 변경 사항을 테스트합니다. 개발 단계에서 사용한 것과 동일한 유형의 환경에서 테스트를 수행하지만, 개발 환경과 통합 테스트 환경은 분리합니다.
  • 4단계: 출시 빌드
    단일 출시 아티팩트로 집계: 개발 단계에서 생성 또는 수정된 모든 자산을 생산에 배포할 단일 출시 아티팩트(논리적 커스터마이징 묶음)로 집계합니다.
  • 5단계: 출시 테스트
    스테이징 환경에서 출시 테스트: 가능한 한 생산 환경을 모방하는 스테이징 환경에서 실제로 배포할 내용을 테스트합니다. 사용자 수용 테스트(UAT)라고 하는 경험 많은 소수의 사람들로부터 피드백을 받으며 테스트합니다.
  • 6단계: 출시
    품질 기준 충족 및 생산 배포: 테스트를 완료하고 품질 기준을 충족하면, 커스터마이징을 생산 환경에 배포할 수 있습니다. 변화를 이해하도록 직원과 파트너를 교육합니다. 출시가 사용자에게 상당한 영향을 미칠 경우, 실제 데이터를 사용하여 사용자를 교육하기 위한 별도의 환경을 생성합니다.

What is a Sandbox?


샌드박스는 프로덕션 환경의 복사본입니다. 샌드박스에는 프로덕션 환경(사용자가 매일 로그인하고 작업하는 곳)에 적용된 모든 구성, 커스터마이징, 애플리케이션 및 코드(메타데이터라고 함)가 포함되어 있습니다. 일부 샌드박스 유형은 프로덕션 데이터의 전부 또는 일부까지도 포함할 수 있습니다.

샌드박스의 이점은 프로덕션 환경의 구성이나 데이터를 손상시킬 위험 없이 샌드박스 내에서 원하는 모든 작업을 수행할 수 있다는 점입니다. 샌드박스에서는 실제 프로덕션 환경을 손상시키지 않고 안전하게 작업할 수 있습니다.

Types of Sandboxes

Ways to deply Metadata


메타데이터 배포 방법에는 여러 가지가 있습니다. 각 방법은 특정 상황에 따라 유용하게 사용될 수 있습니다. 아래는 주요 배포 방법과 그 특징에 대한 설명입니다:

  • 변경 세트 (Changeset)

    • 용도: 관련된 조직 간에 메타데이터를 마이그레이션할 때 유용합니다.
    • 특징: 조직 간에 배포 연결(Deployment connection)이 필요합니다.
  • 사용법: 소스 조직에서 변경 세트를 작성하고 대상 조직으로 전송합니다. 대상 조직에서 변경 세트를 수락하고 배포합니다.

  • Force.com IDE

    • 용도: 개발자들이 Eclipse 기반의 IDE를 사용하여 메타데이터를 배포할 때 사용합니다.
    • 특징: 개발 및 배포 작업을 한 곳에서 관리할 수 있습니다.
    • 사용법: Force.com IDE를 통해 메타데이터를 내보내고 가져와서 배포합니다.
  • Force.com Migration Tool

    • 용도: 아파치 Ant 기반의 명령줄 도구로, 대규모 배포나 자동화된 배포에 유용합니다.
    • 특징: 스크립트를 사용하여 반복적인 배포 작업을 자동화할 수 있습니다.
    • 사용법: 빌드 파일(build.xml)을 작성하여 메타데이터를 내보내고 가져와서 배포합니다.
  • 패키지 (Packages)

    • 용도: 조직 간에 메타데이터를 배포할 때 사용합니다. 배포 연결이 필요 없습니다.
    • 종류:
      • 관리 패키지 (Managed Package): 구성 요소가 잠겨 있으며 수정할 수 없습니다. 업그레이드가 가능합니다.
      • 비관리 패키지 (Unmanaged Package): 구성 요소를 수정할 수 있습니다. 업그레이드가 제공되지 않습니다.
    • 사용법: 패키지를 작성하여 다른 조직에서 설치할 수 있도록 합니다.

각 배포 방법은 특정 상황과 요구 사항에 따라 선택될 수 있습니다. 예를 들어, 단순한 조직 간 메타데이터 전송에는 변경 세트를 사용하고, 대규모 자동화 배포에는 Force.com Migration Tool을 사용할 수 있습니다. 여러 조직에 메타데이터를 배포해야 하는 경우에는 패키지를 사용하는 것이 적합합니다.

profile
100번 고민보다 1번 실행

0개의 댓글