ServiceNow 변경 관리와 Azure Pipelines 통합
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
개발 팀과 IT 팀 간의 협업을 개선하기 위해 Azure Pipelines는 ServiceNow와의 통합을 지원합니다. Teams는 변경과 관련된 위험을 줄이고 릴리스 파이프라인에 변경 관리 게이트를 포함하여 ITIL(정보 기술 인프라 라이브러리)과 같은 서비스 관리 방법론을 따를 수 있습니다.
이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.
- ServiceNow 인스턴스를 구성합니다.
- ServiceNow 변경 관리 프로세스를 릴리스 게이트로 포함합니다.
- 릴리스 파이프라인에서 변경 관리 프로세스를 모니터링합니다.
- ServiceNow 변경 요청을 배포 결과로 업데이트된 상태로 유지합니다.
필수 조건
- ServiceNow의 비개발 인스턴스에 HI 계정이 있습니다.
- 확장을 설치할 수 있는 조직 수준 권한이 있는 Azure DevOps 조직 및 프로젝트가 있어야 합니다.
- Azure DevOps 프로젝트에 클래식 릴리스 파이프라인 또는 환경에 배포하는 YAML 파이프라인이 있습니다.
- 사용 게이트 및 승인의 절차를 이해하고 따라 배포 를 제어하고 승인 및 검사를 정의할 수 있는지 확인합니다.
ServiceNow 인스턴스 구성
ServiceNow 인스턴스에 Azure Pipelines 확장을 설치합니다. ServiceNow 스토어에서 앱을 설치하는 자세한 내용은 구매 개요를 참조하세요. 설치를 완료하려면 HI 자격 증명이 필요합니다.
ServiceNow에서 Azure Pipelines 서비스 계정에 대한 새 사용자를 만들고 x_mioms_azpipeline.pipelinesExecution 역할을 부여합니다.
Azure DevOps 조직 및 프로젝트 설정
Azure DevOps 조직에서 ServiceNow 변경 관리 확장을 설치합니다.
Azure DevOps 프로젝트에서 기본 인증 또는 OAuth2 인증을 사용하여 새 ServiceNow 서비스 연결을 만듭니다. 자세한 내용은 서비스 연결 만들기를 참조하세요.
파이프라인 구성
클래식 릴리스 파이프라인 또는 환경에 배포하는 YAML 파이프라인에 ServiceNow 통합을 추가할 수 있습니다.
ServiceNow 변경 관리 배포 전 게이트 추가
Azure Pipelines 릴리스 파이프라인에서 배포 전 조건 아이콘을 선택합니다.
배포 전 조건 화면에서 게이트를 확장하고 사용하도록 설정하고, 배포 게이트 옆에 추가를 선택하고, ServiceNow 변경 관리 배포 전 게이트를 선택합니다.
ServiceNow 변경 관리 설정 구성
ServiceNow 변경 관리 설정 화면의 ServiceNow 연결에서 이전에 만든 ServiceNow 서비스 연결을 선택합니다.
양식의 나머지 부분을 다음과 같이 완료합니다.
설정 설명 동작 새 변경 요청 만들기를 선택하거나 기존 변경 요청을 사용합니다. 형식 변경 일반, 표준 또는 긴급을 선택합니다. 간단한 설명 변경 내용 요약을 입력합니다. 변경 요청 일정 필요에 따라 ServiceNow 워크플로에서 적용한 대로 변경 일정을 입력합니다. 계획된 시작 날짜 및 계획된 종료 날짜에서 UTC 날짜 및 시간을 yyyy-MM-ddTHH:mm:ssZ 형식으로 입력합니다. 설명 필요에 따라 변경 내용에 대한 자세한 설명을 입력합니다. 범주 필요에 따라 하드웨어, 네트워크 또는 소프트웨어와 같은 변경 범주를 선택합니다. 우선 순위 필요에 따라 변경의 우선 순위를 선택합니다. 위험 필요에 따라 변경에 대한 위험 수준을 선택합니다. 영향 필요에 따라 변경 내용이 비즈니스에 미치는 영향을 선택합니다. 구성 항목 필요에 따라 변경 내용이 적용되는 구성 항목을 선택합니다. 과제 그룹 필요에 따라 변경 내용이 할당된 그룹을 선택합니다. 고급>추가 변경 요청 매개 변수 필드 옆에 있는 줄임표를 선택한 다음 추가를 선택하여 매개 변수를 더 추가합니다. 이름은 레이블이 아닌 필드 이름이어야 하며 접두사로 같아야 u_
합니다( 예:u_backout_plan
.). 값은 ServiceNow에서 유효해야 합니다. 잘못된 항목이 무시됩니다.성공 조건 변경 요청의 원하는 상태 또는 고급 성공 조건을 선택합니다. 변경 요청의 원하는 상태 게이트가 성공하고 파이프라인이 계속 진행되는 데 필요한 변경 요청 상태 값을 선택합니다. 고급 성공 조건 게이트가 성공해야 하는 시기를 제어하는 식을 입력합니다. 변경 요청은 ServiceNow의 응답에서와 같이 root['result']
정의됩니다. 예들 들어and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low'))
입니다. 자세한 내용은 식을 참조하세요.출력 변수>참조 이름 배포 워크플로에서 출력 변수를 사용할 수 있도록 참조 이름을 지정합니다. 에이전트 없는 작업의 접두사로 사용하여 PREDEPLOYGATE
게이트 변수에 액세스할 수 있습니다. 예를 들어 참조 이름이 gate1로 설정된 경우 변수$(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER)
를 사용하여 변경 요청 번호를 가져올 수 있습니다.변수 목록 CHANGE_REQUEST_NUMBER 변경 요청의 수입니다.
CHANGE_SYSTEM_ID 변경 요청의 시스템 ID입니다.
파이프라인 업데이트
릴리스 파이프라인의 끝에서 ServiceNow 변경 요청 업데이트 작업을 사용하여 에이전트 없는 작업을 추가합니다.
작업 설정 양식의 ServiceNow 연결에서 ServiceNow 서비스 연결을 선택합니다.
변경 요청 번호에서 업데이트할 ServiceNow 변경 요청 번호를 입력합니다.
업데이트 상태를 선택한 다음 변경 요청의 업데이트된 상태에서 변경 요청에 대해 설정할 상태를 선택하거나 입력합니다.
고급의 작업 노트에서 필요에 따라 변경 요청 업데이트에 추가할 작업 노트를 입력합니다.
참고 항목
실행 중에 변경 요청 필드가 업데이트되지 않으면 ServiceNow 변경 요청 업데이트 작업이 실패합니다. ServiceNow는 잘못된 필드와 작업에 전달된 값을 무시합니다.
릴리스 만들기
릴리스 만들기를 선택하여 새 릴리스를 시작합니다.
파이프라인은 이전에 만든 배포 전 조건의 일부로 ServiceNow에서 새 변경 요청을 만들어야 합니다.
파이프라인은 모든 게이트가 동일한 샘플 간격 내에 성공할 때까지 기다립니다. 변경 번호를 확인하려면 상태 아이콘을 선택하여 파이프라인 로그를 봅니다.
변경 요청은 ServiceNow에서 큐에 대기되고 변경 소유자는 이를 볼 수 있습니다.
Azure DevOps 파이프라인 메타데이터 섹션에서 새 변경 요청을 트리거한 릴리스 파이프라인을 찾을 수 있습니다.
변경 내용이 구현할 준비가 되어 있고 구현 상태로 이동하면 파이프라인이 실행을 다시 시작하고 게이트 상태가 성공적으로 반환되어야 합니다.
배포 후 변경 요청이 자동으로 닫힙니다.
FAQ
지원되는 ServiceNow 버전은 무엇인가요?
Azure Pipelines ServiceNow 확장은 킹스턴, 런던, 뉴욕, 파리, 퀘벡, 로마, 샌디에이고, 도쿄 및 유타 릴리스를 지원합니다.
Azure Pipelines ServiceNow 확장은 킹스턴, 런던, 뉴욕, 파리, 퀘벡, 샌디에이고, 도쿄 및 유타 릴리스를 지원합니다.
Azure Pipelines ServiceNow 확장은 킹스턴, 런던, 뉴욕, 파리 및 퀘벡 릴리스를 지원합니다.
지원되는 변경 요청 유형은 무엇인가요?
Azure Pipelines ServiceNow 통합은 일반, 표준 및 긴급 변경 요청을 지원합니다.
다른 변경 속성을 설정할 어떻게 할까요? 있나요?
추가 변경 요청 매개 변수 필드 또는 에서 더 많은 변경 속성을 지정할 수 있습니다otherParameters
. 이름 앞에 레이블이 아닌 u_
필드 이름이 있는 키-값 쌍 JSON 형식을 사용합니다.
변경 요청의 사용자 지정 필드를 더 많은 변경 요청 매개 변수로 업데이트할 수 있나요?
변경 요청에서 사용자 지정 필드를 정의하는 경우 가져오기 집합 변환 맵에서 사용자 지정 필드에 대한 매핑을 추가해야 합니다.
범주, 상태 및 기타 필드에 대해 채워진 드롭다운 값을 보려면 어떻게 해야 하나요?
관리 코어 변경 및 변경 관리 - 드롭다운이 작동하려면 ServiceNow 인스턴스에서 상태 모델 플러그 인이 활성화되어 있어야 합니다. 자세한 내용은 업그레이드 변경 관리 및 업데이트 변경 요청 상태를 참조하세요.
리소스
- 안전한 배포를 위한 릴리스 파이프라인 구성
- 릴리스 게이트로서의 X 감정
- 릴리스 게이트로 발생하는 GitHub 문제
- 사용자 지정 게이트를 작성합니다.
- ServerTaskHelper 라이브러리 예제