아티팩트 제거, 상태 배지 만들기, 환경 보호 구성

완료됨

이 단원에서는 GitHub에서 워크플로 아티팩트를 제거하고 기본 보존 기간을 변경하는 방법을 알아봅니다. 그런 다음, 워크플로 상태 배지를 만들어 README.md 파일에 추가하는 방법을 알아봅니다. 마지막으로, 몇 가지 중요한 워크플로 환경 보호를 확인하고 사용하는 방법을 알아봅니다.

GitHub에서 워크플로 아티팩트 제거

기본적으로 GitHub에서는 빌드 로그와 업로드된 아티팩트를 삭제하기 전에 90일 동안 저장합니다. 이 보존 기간은 리포지토리 유형 및 특정 GitHub 제품에 대해 설정된 사용 제한을 기준으로 사용자 지정할 수 있습니다. 사용량 한도 및 아티팩트 보존에 대한 정보는 훨씬 더 많이 있습니다. 자세한 내용은 사용량 한도, 청구 및 관리를 참조하세요.

하지만 GitHub 아티팩트와 패키지에 대해 조직의 스토리지 한도에 도달한다고 가정해 보겠습니다. 여러분은 사용 한도를 늘리거나 워크플로를 차단하지 않고 이전 아티팩트를 제거하려고 합니다. 사용된 GitHub Actions 스토리지는 GitHub에서 만료되기 전에 아티팩트를 삭제하여 회수할 수 있습니다. 다음 섹션에 설명된 대로 두 가지 방법으로 이 작업을 수행할 수 있습니다. 두 가지 방법 모두 리포지토리에 대한 쓰기 권한이 필요합니다.

Warning

아티팩트를 삭제하면 복원할 수 없습니다.

리포지토리에서 아티팩트를 수동으로 삭제

GitHub에서 아티팩트를 수동으로 삭제하려면 작업 탭으로 이동하여 왼쪽 사이드바에서 워크플로를 선택한 다음 확인하려는 실행을 선택해야 합니다.

Screenshot that shows an example workflow run on GitHub.

Artifacts 아래에서 제거하려는 아티팩트를 삭제합니다.

Screenshot that shows the trash can icon to delete an artifact on GitHub.

Artifacts REST API를 사용하여 아티팩트를 삭제할 수도 있습니다. 또한 이 API를 사용하여 작업 아티팩트에 대한 정보를 다운로드하고 검색할 수 있습니다.

기본 보존 기간 변경

리포지토리, 조직 또는 엔터프라이즈 계정의 기본 아티팩트 및 로그 보존 기간을 변경할 수 있습니다. 보존 기간 변경은 새 아티팩트 및 로그 파일에만 적용됩니다. 기존 개체에는 적용되지 않습니다. 이러한 설정을 구성하는 프로세스는 리포지토리, 조직 또는 엔터프라이즈의 경우와 약간 다릅니다. 아티팩트 및 로그 보존 구성에 대한 자세한 내용은 이 모듈 끝의 요약을 확인합니다.

리포지토리, 조직 또는 엔터프라이즈 전반에 구성된 설정 외에도 워크플로 파일 내에서 개별 아티팩트에 대한 사용자 정의 보존 기간을 정의할 수 있습니다. 이 방법은 특정 아티팩트의 보존을 기본 설정 또는 구성된 설정과 다르게 하려는 개별 사용 사례에 적합합니다. upload-artifact 작업이 있는 단계 내에서 retention-days 값을 사용하여 이를 수행할 수 있습니다.

다음 예제에서는 기본 90일 대신 10일 동안 유지되는 아티팩트를 업로드합니다.

- name: 'Upload Artifact'
  uses: actions/upload-artifact@v2
  with:
    name: my-artifact
    path: my_file.txt
    retention-days: 10

리포지토리에 워크플로 상태 배지 추가

워크플로가 성공적으로 완료되었는지 확인하기 위해 작업 탭을 방문하지 않고도 워크플로의 상태를 알 수 있습니다. 리포지토리 README.md 파일에 워크플로 상태 배지를 추가하면 워크플로가 통과하는지 또는 실패하는지 빠르게 확인할 수 있습니다. 상태 배지를 리포지토리 README.md 파일에 추가하는 것이 일반적이지만 웹 페이지에도 추가할 수 있습니다. 기본적으로 상태 배지는 기본 분기에 워크플로 상태를 표시하지만 branchevent 매개 변수를 사용하여 다른 분기에 워크플로 상태 배지를 표시할 수도 있습니다.

다음은 워크플로 상태 배지를 보기 위해 파일에 추가해야 하는 경우의 예입니다.

![example branch parameter.](https://github.com/mona/special-octo-eureka/actions/workflows/grading.yml/badge.svg?branch=my-workflow)

예를 들어 URL 끝에 원하는 분기 이름과 함께 branch 매개 변수를 추가하면 원하는 분기의 워크플로 상태 배지가 기본 분기 대신 표시됩니다. 이 방법은 README.md 파일 내에 테이블 형식 보기를 쉽게 만들어 몇 개의 이름을 지정할 분기, 이벤트, 서비스 또는 환경에 따라 워크플로 상태를 표시할 수 있습니다.

Screenshot that shows an example workflow status badge with the my-workflow branch.

또한 GitHub를 사용하여 상태 배지를 만들 수 있습니다. 작업 탭 내의 워크플로 섹션으로 이동한 후 특정 워크플로를 선택합니다. 상태 배지 만들기 옵션을 사용하여 워크플로에 대한 markdown을 생성하고 branchevent 매개 변수를 설정할 수 있습니다.

Screenshot that shows the option to create a status badge from the workflows section on GitHub.

워크플로 환경 보호 추가

보안은 매우 중요합니다. 따라서 보호 규칙 및 비밀을 사용하여 워크플로 환경을 구성하는 것이 좋습니다. 이러한 요소를 사용하면 환경의 모든 보호 규칙이 통과될 때까지 작업이 시작되지 않거나 환경에 정의된 비밀에 액세스할 수 없습니다. 현재 보호 규칙 및 환경 비밀은 퍼블릭 리포지토리에만 적용됩니다.

퍼블릭 리포지토리 내의 워크플로에 적용할 수 있는 두 가지 환경 보호 규칙에는 필수 검토자대기 타이머가 있습니다.

  • 필수 검토자를 사용하여 특정 사용자 또는 팀이 작업 환경을 참조하는 워크플로 작업을 승인하도록 설정할 수 있습니다.
  • 대기 타이머를 사용하여 작업이 트리거된 후 특정 시간 동안 작업을 지연할 수 있습니다.

배포하기 전에 개발팀이 승인해야 하는 프로덕션 환경에 대한 워크플로를 만들어야 한다고 가정해 보겠습니다. 다음 단계를 사용합니다.

  1. 리포지토리 내에 프로덕션 환경을 만듭니다.
  2. 특정 개발팀의 승인이 필요하도록 필수 검토자 환경 보호를 구성합니다.
  3. 프로덕션 환경을 찾도록 워크플로 내에서 특정 작업을 구성합니다.

환경 아래에 있는 리포지토리의 설정 탭에서 새 리포지토리 환경을 만들고 구성할 수 있습니다.