Windows 패키지 관리자 리포지토리에 기여

완료됨

참여하기

winget search <somepackage> 명령을 실행했지만 설치하려는 소프트웨어 패키지 또는 피스를 찾지 못한 경우 해당 소프트웨어를 리포지토리에 추가하면 나중에 도움을 받을 수 있으며 다른 사용자에게도 도움이 될 수 있습니다. 먼저 다음 사항을 확인해야 합니다.

  • GitHub 계정
  • Windows 패키지 관리자가 현재 MSIX, MSI EXE 형식의 설치 관리자를 지원합니다. 설치하려는 소프트웨어 피스에 이러한 형식의 설치 관리자가 하나도 없는 경우에는 리포지토리에 추가할 수 없습니다.
  • 소프트웨어가 MSIX, MSI 또는 EXE 형식으로 제공되는 경우 다른 사람이 이미 해당 소프트웨어를 제출했는지 확인하는 것이 좋습니다. 현재 Community 리포지토리 내에서 진행 중인 끌어오기 요청을 확인하여 확인할 수 있습니다.
  • 소프트웨어가 MSIX, MSI 또는 EXE 형식으로 제공되고 다른 사람이 아직 제출하지 않은 경우에는 머신에 Windows 패키지 관리자와 Windows 패키지 관리자 매니페스트 작성자가 모두 설치되어 있는지 확인해야 합니다.

검사 목록 확인을 마쳤으므로, 이제 필요한 매니페스트 파일을 빌드할 시간입니다.

사용자 고유의 매니페스트 파일을 처음부터 새로 만들 수 있지만, 전체 프로세스를 훨씬 쉽게 진행할 수 있도록 도와주는 도구가 있습니다. 이 도구를 Windows 패키지 관리자 매니페스트 작성자라고 합니다. Windows 패키지 관리자에서 다음 명령을 사용하여 설치할 수 있습니다.

winget install microsoft.wingetcreate

시작하기

시작하려면 wingetcreate new 명령을 입력해야 합니다.

이 도구는 소프트웨어 패키지의 URL을 요구합니다. 이 URL은 사용자가 로컬에 저장한 URL이 아닌 공개적으로 액세스할 수 있는 URL이어야 합니다.

이 도구는 파일 쿼리를 시작하고 일부 정보를 가져옵니다. 이 도구는 먼저 패키지 식별자, 패키지 버전, 기본 언어, 패키지가 설치될 아키텍처(x86, x64 등), 게시자 이름, 패키지 이름, 패키지 라이선스 및 패키지 설명을 추천합니다. 이 모든 정보는 소프트웨어를 찾아서 설치하는 데 도움이 됩니다.

사용자 지정 자동 스위치

패키징하려는 소프트웨어 피스를 사용자 입력 없이 설치하려면 자동으로 설치하는 맞춤식 설치 스위치가 필요합니다. Windows 패키지 관리자 도구에서 해당 정보를 요청하도록 구성할 수도 있지만, installer.yaml 파일에서 해당 정보를 직접 편집할 수도 있습니다.

VMware 워크스테이션 플레이어를 예로 들면, installer.yaml 파일에 다음과 같은 여러 구성 줄이 있습니다.

VMware Workstation Player Installer File

태그들

제출할 때 수행할 수 있는 또 다른 작업은 매니페스트 파일의 태그를 추가하는 것입니다. 태그는 winget search 명령을 통해 검색할 때 패키지/소프트웨어를 찾는 데 도움이 됩니다.

Windows Package Manager Audio Search Results

다음은 yaml 파일 내에서 태그 입력이 어떻게 표시되는지 보여주는 스크린샷입니다.

VideoLAN Yaml Tags

이러한 태그는 검색 결과를 소프트웨어 제조업체 또는 소프트웨어 이름 너머로 확장하는 데 도움이 됩니다.

유효성 검사 및 테스트

매니페스트 파일을 설정한 후에는 매니페스트 파일이 올바르게 작동하는지 유효성을 검사하고 테스트할 차례입니다. 그 후 리포지토리에 제출할 수 있습니다.

가장 먼저 할 일은 매니페스트 파일의 유효성 검사입니다. 유효성 검사에서는 구문을 확인하고 표준을 준수하도록 매니페스트 파일을 구성합니다. wingetcreate 새 프로세스를 수행하고 파일을 수동으로 변경하지 않은 경우 유효성 검사를 통과할 것입니다. 하지만 수동 변경을 수행한 경우에는 유효성 검사 테스트를 통과하려면 변경이 필요할 수 있습니다.

매니페스트의 유효성을 검사하는 데 사용되는 명령은 다음과 같습니다.

winget validate –manifest <manifest path>

매니페스트 파일의 경로는 설정에 따라 달라지지만, wingetcreate 프로세스가 끝날 때 표시됩니다.

유효성 검사 명령의 출력이 표시되고 모든 것이 정상이면 이제 매니페스트가 설정된 소프트웨어 패키지/피스를 설치하는지 테스트할 수 있습니다. 소프트웨어가 이미 설치된 올바르게 테스트하려면 별도의 머신에서 테스트하거나 Windows 샌드박스 환경을 활용해야 할 수도 있습니다.

사용할 명령은 winget install –manifest <manifest path>입니다.

그러면 아무 문제 없이 완료되고 소프트웨어가 정상적으로 설치될 것입니다. 그러나 문제가 있는 경우에는 문제를 조사하여 해결하고 예상대로 작동할 때까지 프로세스를 다시 진행해야 합니다.

매니페스트 제출

매니페스트의 유효성을 검사하고 테스트를 마쳤으므로, 커뮤니티의 다른 사람들이 사용할 수 있도록 Microsoft 팀에 제출하여 확인하고 리포지토리에 병합할 시간입니다.

가장 먼저 할 일은 토큰을 설정하는 것입니다. 이 토큰은 GitHub에 인증할 때 명령줄에 암호를 입력하지 않아도 되도록 하는 GitHub 개인용 액세스 토큰입니다. 이전에 토큰을 설정하지 않은 경우 GitHub 팀에서 제공하는 개인용 액세스 토큰 만들기 가이드를 사용할 수 있습니다.

토큰이 생겼으면 winget에서 사용할 수 있도록 명령줄 도구에 토큰을 저장해야 합니다. 이 작업은 다음 명령으로 수행합니다.

wingetcreate –store <token> 

이제 결과물을 Microsoft 팀에 제출하여 검토를 받을 수 있습니다. 이렇게 하려면 다음 명령을 실행해야 합니다.

wingetcreate submit <path to manifest>

이렇게 하면 GitHub 프로필 내에 리포지토리 저장소가 생성된 후 Windows 패키지 관리자 리포지토리 에서 끌어오기 요청이 생성됩니다.

이 명령이 완료되면 끌어오기 요청(PR)에 대한 브라우저 세션이 열립니다. 여기서 검사 목록을 완료하라는 메시지가 표시됩니다.

Windows Package Manager contributor checklist

또한 일부 자동화된 테스트가 시작되고, 매니페스트의 유효성을 검사하고 정상적으로 작동하는지 확인하는 테스트가 수행됩니다. 브라우저를 닫고 나중에 확인할 수도 있고, 진행률이 업데이트되는 것을 볼 수도 있습니다.

문제가 발견되면 문제를 해결해야 합니다. 그렇지 않으면 Windows 패키지 관리자의 누군가가 제출을 확인하고 승인하거나 개선할 점에 대한 피드백을 제공하게 됩니다.

여러분의 제출물을 적시에 검토할 수 있도록 팀에서 SLA를 작업 중입니다.


지식 점검

1.

다음 중 매니페스트에 대해 가장 잘 설명한 것은 무엇인가요?