Legacy - 소스 통제 통합

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 4분
  • 애플리케이션 개발자가 Git 소스 통제 리포지토리와 통합할 수 있도록 합니다. 비프로덕션 인스턴스에서 애플리케이션의 여러 버전을 저장하고 관리합니다.

    중요사항:
    릴리스부터 Xanadu 이 버전 ServiceNow 스튜디오Legacy 향후 사용 중단 예정입니다. 이 항목은 숨겨지고 새 인스턴스에서 더 이상 활성화되지 않지만 지원은 계속됩니다. 사용 중단 프로세스에 대한 자세한 내용은 Now Support 지식베이스의 사용 중단 프로세스 [KB0867184] 문서를 참조하십시오.

    대신 현재 버전의 ServiceNow 스튜디오 앱에서 앱을 빌드하고 편집해 보십시오. 자세한 내용은 ServiceNow 스튜디오 문서를 참조하십시오.

    애플리케이션을 소스 통제에 연결하면 비프로덕션 인스턴스의 모든 애플리케이션 개발자가 다음을 수행할 수 있습니다.
    • Git 리포지토리에서 애플리케이션을 임포트합니다.
    • Git 리포지토리에서 원격 변경 내용을 끌어오고 적용합니다.
    • 인스턴스의 모든 로컬 변경 내용을 Git 리포지토리에 커밋합니다.
    • 지정된 애플리케이션 버전에 영구적으로 연결하는 태그를 생성합니다.
    • 분기를 생성하여 애플리케이션의 여러 버전을 동시에 유지 관리합니다.

    통합 요구 사항

    애플리케이션을 소스 통제에 연결하려면:
    • 사용자에게 관리자 역할이 있어야 합니다.
    • 비프로덕션 인스턴스에는 Git 리포지토리에 대한 네트워크 액세스 권한이 있어야 합니다.
    • 각 애플리케이션은 자체 Git 리포지토리 내에 있어야 합니다.
    • 리포지토리 사용자 자격 증명은 읽기 및 쓰기 접근 권한을 부여해야 합니다.
    주:
    인스턴스의 모든 애플리케이션 개발자는 리포지토리당 단일 자격 증명 세트를 공유합니다.

    에서 사용 가능한 옵션 ServiceNow 스튜디오

    애플리케이션을 소스 통제에 연결한 후 애플리케이션 개발자가 리포지토리를 관리하는 데 사용할 ServiceNow 스튜디오 수 있습니다. 스튜디오에서 개발자는 다음을 수행할 수 있습니다.
    • 애플리케이션 리포지토리 자격 증명을 편집합니다.
    • 인스턴스에 대한 모든 로컬 변경 내용을 커밋하십시오.
    • 리포지토리에서 원격 변경 내용을 적용합니다.
    • 분기를 생성합니다.
    • 분기를 전환합니다.
    • 원격 리포지토리에서 애플리케이션을 임포트합니다.

    소스 통제를 사용하여 프로덕션 인스턴스에서 애플리케이션을 관리하는 것은 권장되지 않습니다. 프로덕션에 배포하면 의도하지 않은 결과가 발생할 수 있습니다.Legacy - 프로덕션 배포 팁 대신 애플리케이션 리포지토리, 업데이트 세트 또는 ServiceNow Store를 사용하여 프로덕션 인스턴스의 애플리케이션을 관리할 수 있습니다. 프로덕션 인스턴스에서 애플리케이션을 관리하는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오 애플리케이션 공유.

    Git 리포지토리에서 사용할 수 있는 옵션

    플랫폼은 ServiceNow 인스턴스 외부에서 연결된 애플리케이션 파일 수정에 대해 제한된 지원을 제공합니다. Git에서 개발자는 다음을 수행할 수 있습니다.
    • 애플리케이션 파일을 다른 Git 디렉터리 구조로 이동합니다.
    • 외부 애플리케이션 파일을 편집합니다.ServiceNow 스튜디오

    시스템은 리포지토리의 루트 수준에 sn_source_control.properties 라는 속성 텍스트 파일을 생성합니다. 애플리케이션 파일을 다른 Git 디렉터리 구조로 이동하기 위해 애플리케이션 개발자는 애플리케이션 파일이 포함된 하위 폴더 경로를 지정하도록 매개변수를 path 설정할 수 있습니다. 예를 들어 애플리케이션을 src/app 하위 폴더로 이동한 경우 path=src/app로 설정합니다path.

    시스템은 Git 리포지토리에 checksum.txt 파일을 생성하여 애플리케이션 파일이 외부에서 스튜디오변경되었는지 확인합니다. 파일의 체크섬 값이 현재 체크섬 값과 일치하면 통합은 확인 및 삭제 프로세스를 건너뜁니다. 체크섬 값이 일치하지 않으면 통합은 소스 통제 작업의 일부로 애플리케이션 파일을 확인하고 삭제합니다. 살균 과정:
    • 수행된 각 위생 작업에 대한 업그레이드 로그 항목을 생성합니다.
    • 리포지토리에서 지원되지 않는 폴더와 파일을 제거합니다.
    • 시스템 애플리케이션 파일이 XML 스키마 확인에 실패하면 모든 소스 통제 작업을 중단합니다. 예를 들어, 데이터베이스 사전 기록이 XML 스키마 확인에 실패하면 시스템은 모든 작업을 중단합니다.
    • 비시스템 애플리케이션 파일이 XML 스키마 확인에 실패하면 현재 소스 통제 작업을 건너뜁니다.

    소스 통제 통합은 sn_source_control.properties 파일에 나열된 애플리케이션 경로 내의 컨텐츠만 삭제합니다. 애플리케이션 경로 외부의 리포지토리 콘텐츠는 무시됩니다.

    MID Server 지원

    기존 MID 서버를 사용하여 소스 통제 리포지토리에 연결합니다. MID 서버를 통해 애플리케이션을 연결하거나 임포트하면 방화벽 뒤의 리포지토리에 접근할 수 있습니다.

    소스 통제 통합을 위한 MID 서버 구성

    인스턴스와 외부 애플리케이션, 데이터 소스 및 서비스 간에 ServiceNow 데이터의 통신과 이동이 가능하도록 소스 통제 통합을 위한 MID 서버를 구성합니다.

    • glide.attachment.extensions 속성에 "번들" 확장을 추가합니다.
    • MID Server가 프록시를 통해 원격 Git 리포지토리에 액세스해야 하는 경우 다음을 수행합니다.
      • agent\conf\wrapper-override.conf 파일에 다음 줄을 추가합니다.
      • wrapper.java.additionial.3=-dhttps.proxyHost=<proxyHost>
      • wrapper.java.additionial.4=-dhttps.proxyPort=<proxyPort>
      • MID 다시 시작
      • "MID 보안 정책"에 새 항목을 추가합니다.
      • 이름: <프록시 호스트 이름>
      • "활성"만 확인

    소음 제거 소스 통제 커밋

    소스 통제의 메타데이터 기록에 대해 시끄러운 업데이트 필드를 XML 파일로 언로드하는 것을 건너뜁니다.