아티팩트 및 패키지
아티팩트와 패키지를 사용하면 DevOps 변경 속도 광범위한 배포 및 릴리스 모델에서 개발 및 테스트 활동을 추적할 수 있습니다. 이 기능을 사용하면 아티팩트가 서로 다른 시간 또는 다른 파이프라인에서 생성되고 릴리스될 때 데이터 모델에 저장된 DevOps 파이프라인 활동을 검색하고 적용할 수 있습니다.
아티팩트
아티팩트 버전이 등록되면 커밋, 테스트 및 코드 검사와 같은 관련 활동이 추적되므로 아티팩트 버전이 배포되는 시기에 관계없이 해당 세부 정보를 검색할 수 있습니다. 현재 파이프라인 실행, 동일한 파이프라인의 이후 실행, 현재 파이프라인에 의해 트리거되는 파이프라인 또는 독립적으로 트리거되는 별도의 파이프라인에 있을 수 있습니다.
커밋을 아티팩트 버전(CI 파이프라인)과 연결하고 아티팩트 패키지(CD 파이프라인)를 정의하면 앱이 프로덕션에 마지막으로 배포된 이후 생성된 모든 아티팩트 버전이 변경에 대한 커밋 목록에 포함됩니다. 이러한 항목을 통합하면 특히 배포 전에 여러 CI 빌드가 있을 때 유용합니다.
- 속성에서 DevOps범주 DevOps 또는 "DevOps 변경" 필드의 DevOps 변경 요청 범주화 확인란이 선택되어 있습니다. 자세한 내용은 DevOps 범주를 다음으로 위임하지 않고 변경 요청 DevOps 문서를 참조하십시오.
- 커밋 및 작업 항목 관련 목록
패키지
- 패키지에 선언된 모든 아티팩트 버전에 대한 활동 검색입니다. 예를 들어 자동화된 변경 승인 정책에 사용됩니다.
- 지정된 아티팩트 버전이 성공적으로 릴리스되었을 때 기록하여 연결된 정보가 더 이상 고려되지 않도록 합니다. 예를 들어 이후 변경 요청의 경우
아티팩트 설정
- DevOps에서 아티팩트 도구 기록을 생성합니다.주:아티팩트 버전을 조회하는 데 웹후크 또는 사용자가 생성한 통합 하위 플로우 구성이 필요하지 않은 한 아티팩트 도구는 필요하지 않습니다.
- CI 파이프라인에 아티팩트를 등록합니다.
- CD 파이프라인에 패키지를 만듭니다.주:패키지 생성 단계는 프로덕션 배포 단계 이전이어야 합니다.
아티팩트 등록
DevOps API /artifact/registration 엔드포인트를 사용하여 스크립팅된 파이프라인 또는 자유형 작업에서 아티팩트 등록을 구성합니다. 여러 아티팩트 버전이 지원됩니다.
스크립팅된 파이프라인 및 선언적 파이프라인(snDevOpsArtifact Jenkinsfile 명령)
예:snDevOpsArtifact(artifactsPayload: """{"artifacts": [{"name": "sa-web.jar", "version": "1.9","semanticVersion": "1.9.0","repositoryName": "services-1031"}], "branchName": "master"}""")자유형 작업(아티팩트 등록 빌드 단계)
예:{"artifacts":[{"name":"sentiment-analysis-web2","version":"1.9","semanticVersion":"1.9.0","repositoryName":"maven-releases"}]}
아티팩트 패키지 생성
자유형 작업(패키지 빌드 단계 생성 )
예:
{"artifacts":[{"name":"sentiment-analysis-web2","version":"1.9","repositoryName":"maven-releases"}]}선언적 및 스크립팅된 파이프라인(snDevOpsPackage Jenkinsfile 명령)
페이로드에 둘 이상의 아티팩트(다른 리포지토리에서)가 있는 패키지. 예를 들면 다음과 같습니다.snDevOpsPackage(name: "sentimentpackage", artifactsPayload: """{"artifacts":[{"name": "sa-web.jar", "version": "1.9", "repositoryName": "services-1031"}, "{"name": "sa-db.jar", "version": "1.3.2", "repositoryName": "services-1032"}], "branchName": "master"}""")
Jenkins 플러그인 단계 includeBuildInfo 를 사용하여 API 호출에 빌드 세부 정보를 포함할 수 있습니다.
아티팩트 워크플로우 및 객체
오케스트레이션 도구 작업은 새 아티팩트(버전으로 구성됨)를 아티팩트 리포지토리에 게시합니다. 각 아티팩트 버전은 작업 실행(관련 코드 커밋으로 구성됨)과 연결됩니다. 릴리스에 대해 패키지(배포 플래그가 지정된 특정 아티팩트 버전으로 구성됨)가 만들어지고 배포 단계가 완료되면 패키지가 프로덕션에 배포된 것으로 표시됩니다.
이러한 개체는 아티팩트 구조의 일부입니다.
아티팩트 도구
Artifactory와 같은 JFrog 아티팩트 리포지토리 관리자를 지원하는 데 사용됩니다.
주:아티팩트 버전을 조회하는 데 웹후크 또는 사용자가 생성한 통합 하위 플로우 구성이 필요하지 않은 한 아티팩트 도구는 필요하지 않습니다.아티팩트 리포지토리
빌드에서 생성된 아티팩트의 대상이며 빌드에 필요한 아티팩트의 소스이기도 합니다. 수동으로 만들거나 RegisterArtifact API를 통해 새 아티팩트가 도구의 새 리포지토리에 게시될 때 만들 수 있습니다.
아티팩트
다른 빌드(아티팩트 버전)가 생성되는 아티팩트 이름입니다. 수동으로 만들거나 RegisterArtifact API를 통해 만들 수 있습니다. 아티팩트(버전)는 작업 실행과 연결되고 아티팩트 리포지토리에 게시됩니다.
아티팩트 버전
아티팩트의 특정 버전입니다. CI 빌드에 의해 생성된 애플리케이션의 배포 가능 구성요소입니다. 제공된 경우 시맨틱 버전이 사용됩니다.
검색 또는 RegisterArtifact API를 통해 생성할 수 있습니다. 아티팩트(버전)는 작업 실행과 연결되고 추적된 아티팩트 리포지토리에 게시됩니다.
시맨틱 버전
제공되는 경우 변경 커밋을 결정하는 데 사용되는 아티팩트 버전의 선택적 속성입니다. 시맨틱 버전 형식은 (MAJOR. 사소한. PATCH)를 참조하십시오.
패키지
CD 파이프라인에 대한 입력으로 사용되거나 테스트 결과를 연결하는 데 사용되는 아티팩트 버전의 컬렉션입니다.
패키지 만들기는 오케스트레이션 도구의 CreatePackage API 호출에 의해 트리거되며 패키지에 포함된 모든 아티팩트 버전의 이름, 버전 및 리포지토리 이름을 포함합니다. 확인란은 패키지가 프로덕션에 배포되었는지 여부를 나타냅니다.
애플리케이션 네비게이터의 변경 모듈에서 직접 모든 기존 파이프라인 변경 요청을 볼 수도 있습니다.
애플리케이션 네비게이터의 변경 모듈을 사용하여 기존의 모든 변경 제어 및 파이프라인 변경 요청을 직접 볼 수 있습니다.
다음으로 이동 모든 변경 관련 정보에 대해
파이프라인 변경 요청
애플리케이션 네비게이터의 목록 모듈을 사용하여 기존의 모든 아티팩트와 패키지를 직접 볼 수 있습니다.
다음으로 이동 모든 아티팩트 관련 정보에 대해.
아티팩트 및 패키지 모니터링
아티팩트 및 패키지가 소스 도구 ServiceNow에서 로 등록되면 종종 테이블에 스테이징 sn_devops_artifact_staging 되는 반면, 이러한 개체의 생성 및 연결에 필요한 나머지 데이터는 인바운드 이벤트에서 수신되거나 플로우에 의해 DevOps 가져옵니다.
대부분의 경우 이러한 준비 기록은 몇 초 내에 처리됩니다. 그러나 필요한 데이터가 수신되지 않는 경우가 있을 수 있으므로 이러한 기록은 유휴 상태로 남을 수 있습니다. 아래 테이블의 설명 필드에는 보다 쉽게 모니터링할 수 있도록 이러한 경우에 누락된 세부 정보에 대한 요약이 포함되어 있습니다.
| 스테이징 유형 | 스테이징 코드 | 이는 언제 발생할 수 있습니까? | 최종 상태? | 설명 |
|---|---|---|---|---|
| create_package_association | WAITING_FOR_OTHER_STAGED_REQUESTS | 패키지 등록 호출 중에 호출이 시작된 작업 실행이 시스템에서 발견되고 후처리되지만 아티팩트 페이로드에 전달된 모든 아티팩트 버전이 시스템에서 발견되지 않은 경우. | 아니요 | 다음 이유로 패키지 등록 요청이 보류 중입니다. 연결에 대한 작업 실행이 발견됨(TE00012345) 및 후처리 플래그가 예로 설정되어 있으나 모든 아티팩트 버전이 발견되지는 않았습니다. 총 아티팩트 수: 2 |
| create_package_association | TASK_EXEC_POST_PROCESSING_PENDING | 패키지 등록 호출 중에 호출이 시작된 작업 실행이 시스템에서 발견되었지만 아직 후처리되지 않은 경우. 즉, 이 작업 실행에 대한 완료된 웹후크 이벤트가 아직 처리되지 않았습니다. | 아니요 | 다음 이유로 패키지 등록 요청이 보류 중입니다. 연결에 대한 작업 실행이 발견되었습니다(TE00012345). 그러나 후처리 완료 플래그가 예로 설정되지 않았습니다. 총 아티팩트 수: 2 |
| create_package_association | NO_TASK_EXECUTION_FOUND | 패키지 등록 호출 중에 호출이 시작된 작업 실행을 시스템에서 아직 찾을 수 없는 경우. | 아니요 | 다음 이유로 패키지 등록 요청이 보류 중입니다. 연결에 대한 작업 실행을 찾을 수 없습니다(pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). 총 아티팩트 수: 2 |
| create_package | VERSION_NOT_FOUND | 패키지 등록 호출 중에 아티팩트 페이로드에 전달된 아티팩트 버전이 시스템에서 아직 발견되지 않은 경우입니다. | 아니요 | 다음 이유로 패키지 등록 요청이 보류 중입니다. 아티팩트 버전을 찾을 수 없습니다(name=TestArtifact, version=2.5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). 아티팩트 수: 2개 중 1개 |
| create_package | VERSION_NOT_FOUND | 패키지 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 전달되지 않지만 작업 실행 기록을 조회하는 데 사용할 수 있는 taskExecutionSysId 또는 (pipelineName, stageName, taskExecutionNumber)가 포함된 경우(이 경우 발견되어 사후 처리되지만 연결된 아티팩트 버전 기록이 없는 경우). | 아니요 | 다음 이유로 패키지 등록 요청이 보류 중입니다. 페이로드에서 아티팩트 버전을 사용할 수 없으며 작업 실행 상세 정보(name=TestArtifact, version=2.5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18)(TE00012345)를 사용하여 찾을 수 없습니다. 아티팩트 수: 2개 중 1개 |
| create_package | TASK_EXEC_POST_PROCESSING_PENDING | 패키지 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 전달되지 않지만 작업 실행 기록을 조회하는 데 사용할 수 있는 taskExecutionSysId 또는 (pipelineName, stageName, taskExecutionNumber)가 포함된 경우(이 경우 발견되었지만 아직 후처리되지 않음). | 아니요 | 다음 이유로 패키지 등록 요청이 보류 중입니다. 페이로드에서 아티팩트 버전을 사용할 수 없으며 연결에 대한 작업 실행이 발견되었지만 후처리 완료 플래그가 예로 설정되지 않았습니다(name=TestArtifact, version=2.5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18)(TE00012345). 아티팩트 수: 2개 중 1개 |
| create_package | NO_TASK_EXECUTION_FOUND | 패키지 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 전달되지 않지만 작업 실행 기록을 조회하는 데 사용할 수 있는 taskExecutionSysId 또는 (pipelineName, stageName, taskExecutionNumber)가 포함된 경우(이 경우 찾을 수 없음). | 아니요 | 다음 이유로 패키지 등록 요청이 보류 중입니다. 페이로드에서 아티팩트 버전을 사용할 수 없으며 연결에 대한 작업 실행도 찾을 수 없습니다(name=TestArtifact, version=2.5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). 아티팩트 수: 2개 중 1개 |
| create_package | WAITING_FOR_OTHER_STAGED_REQUESTS | 패키지 등록 호출 중에 아티팩트 페이로드에 전달된 아티팩트 버전이 시스템에서 발견되었지만 다른 관련 스테이징 기록(create_package 또는 create_package_association 기록 모두 포함)이 처리될 때까지 기다려야 하는 경우. | 아니요 | 다음 이유로 패키지 등록 요청이 보류 중입니다. 아티팩트 버전을 찾았지만 나머지 패키지 등록 스테이징 기록을 기다려야 합니다. 아티팩트 수: 2개 중 1개 |
| register_artifact | TASK_EXEC_POST_PROCESSING_PENDING | 아티팩트 등록 호출 중, 호출이 시작된 작업 실행이 시스템에서 발견되었지만 아직 후처리되지 않은 경우. 즉, 이 작업 실행에 대한 "완료됨" 웹후크 이벤트가 아직 처리되지 않았습니다. | 아니요 | 다음 이유로 아티팩트 등록 요청이 보류 중입니다. 아티팩트 버전이 생성되었으며 연결 연결(TE00012345)에 대한 작업 실행이 발견되었지만 후처리 완료 플래그가 예로 설정되지 않았습니다. |
| register_artifact | NO_TASK_EXECUTION_FOUND | 아티팩트 등록 호출 중에 호출이 시작된 작업 실행을 시스템에서 아직 찾을 수 없는 경우. | 아니요 | 다음 이유로 아티팩트 등록 요청이 보류 중입니다. 아티팩트 버전이 생성되었지만 연결에 대한 작업 실행을 찾을 수 없습니다(pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). |
| register_artifact | VERSION_ALREADY_REGISTERED | 아티팩트 등록 호출 중에 지정된 아티팩트 및 리포지토리의 아티팩트 페이로드에 제공된 아티팩트 버전이 시스템에 이미 있는 경우. | 예(무시됨) | 다음 이유로 아티팩트 등록 요청이 무시되었습니다: 아티팩트 버전이 이미 등록되었습니다. |
| register_artifact | NO_SUBFLOW_CONFIGURED | 아티팩트 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 제공되지 않고 웹후크와 조회 하위 플로우가 모두 아티팩트 버전 기록을 찾지 않는 경우. | 예(무시됨) | 다음 이유로 아티팩트 등록 요청이 무시되었습니다: 페이로드에서 아티팩트 버전을 사용할 수 없습니다. 웹후크 및 조회 하위 플로우를 사용할 수 없습니다. |
| register_artifact | NO_TASK_EXECUTION_FOUND | 아티팩트 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 제공되지 않지만 웹후크가 지원되고 아티팩트 버전 레코드를 찾을 수 있지만 호출이 시작된 작업 실행을 시스템에서 아직 찾을 수 없는 경우. | 아니요 | 다음 이유로 아티팩트 등록 요청이 보류 중입니다. 웹후크를 통해 아티팩트 버전을 찾았지만 연결에 대한 작업 실행을 찾을 수 없습니다(pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). |
| register_artifact | TASK_EXEC_POST_PROCESSING_PENDING | 아티팩트 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 제공되지 않지만 웹후크가 지원되고 아티팩트 버전 레코드를 찾을 수 있고 호출이 시작된 작업 실행이 시스템에서 발견되지만 아직 후처리되지 않은 경우. 즉, 이 작업 실행에 대한 완료된 웹후크 이벤트가 아직 처리되지 않았습니다. | 아니요 | 다음 이유로 아티팩트 등록 요청이 보류 중입니다. 웹후크를 통해 아티팩트 버전을 찾았으며 연결에 대한 작업 실행이 발견되었습니다(TE00012345). 그러나 후처리 완료 플래그가 예로 설정되지 않았습니다. |
| register_artifact | NO_TASK_EXECUTION_FOUND | 아티팩트 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 제공되지 않지만 조회 하위 플로우가 지원되고 아티팩트 버전 레코드를 찾을 수 있지만 호출이 시작된 작업 실행을 시스템에서 아직 찾을 수 없는 경우. | 아니요 | 다음 이유로 아티팩트 등록 요청이 보류 중입니다. 조회를 통해 아티팩트 버전을 찾았지만 연결에 대한 작업 실행을 찾을 수 없습니다(pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). |
| register_artifact | TASK_EXEC_POST_PROCESSING_PENDING | 아티팩트 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 제공되지 않지만 조회 하위 플로우가 지원되고 아티팩트 버전 레코드를 찾을 수 있으며 호출이 시작된 작업 실행이 시스템에서 발견되지만 아직 후처리되지 않은 경우. 즉, 이 작업 실행에 대한 완료된 웹후크 이벤트가 아직 처리되지 않았습니다. | 아니요 | 다음 이유로 아티팩트 등록 요청이 보류 중입니다. 조회를 통해 아티팩트 버전을 찾았으며 연결에 대한 작업 실행이 발견되었습니다(TE00012345). 그러나 후처리 완료 플래그가 예로 설정되지 않았습니다. |
| register_artifact | ERROR_CALLING_SUBFLOW | 아티팩트 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 제공되지 않고 조회 하위 플로우가 지원되지만 아티팩트 버전을 찾을 수 없는 경우. | 예(무시됨) | 다음 이유로 아티팩트 등록 요청이 무시되었습니다: 조회 하위 플로우에서 아티팩트 버전을 찾지 못했습니다. |
| register_artifact | ERROR_CALLING_SUBFLOW | 아티팩트 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 제공되지 않고 조회 하위 플로우가 지원되지만 하위 플로우의 오류로 인해 아티팩트 버전을 찾을 수 없는 경우. | 예(무시됨) | 다음 이유로 아티팩트 등록 요청이 무시되었습니다: 오류로 인해 조회 하위 플로우에서 아티팩트 버전을 찾을 수 없습니다(자세한 내용은 DevOps 로그 참조). |
| register_artifact | ERROR_CALLING_SUBFLOW | 아티팩트 등록 호출 중에 아티팩트 버전이 아티팩트 페이로드에 제공되지 않고 조회 하위 플로우가 지원되지만 시스템에서 상위 아티팩트 기록을 찾을 수 없기 때문에 실행되지 않은 경우. | 예(무시됨) | 다음 이유로 아티팩트 등록 요청이 무시되었습니다: 아티팩트를 찾을 수 없습니다. |