• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

github actions 의 steps 중 platforms 제거

24.02.25 22:42 작성 조회수 219

1

안녕하세요. GitHub Actions 관련 실습 중이었는데, 아래와 같은 에러가 발생했습니다.

 

ERROR: failed to solve: node:14: no match for platform in manifest: not found

154Error: buildx failed with: ERROR: failed to solve: node:14: no match for platform in manifest: not found

 

일단은 platforms 를 제거해서 해결했는데요.

platforms 관련하여 검색해 알아보니 특정 OS 에 최적화하는 옵셔널한 값으로 넣으면 좋고 안넣어도 괜찮은 그냥 그런 것으로 소개되고 있더라고요

 

제 질문은 아래와 같은데요.

 

  1. platforms 를 지워서 GitHub Actions 가 성공했는데, 이렇게 실습해도 되나요?

  2. 실무에서는 보통 platforms 를 작성하는게 관행인가요?

 

 

답변 2

·

답변을 작성해보세요.

0

서진규님 안녕하세요. 데브위키입니다.

네 말씀해주신 대로 platforms에 내용을 기재해 주셔야 합니다..!

platforms: 필드를 기재하시는 이유는, 환경이 두 개가 존재하기 때문입니다.

환경 1: 파이프라인이 실제로 실행되어 이미지를 빌드하는 깃허브 소유의 OS환경

환경 2: 이미지를 다운받아 실행하는 실습PC 환경



환경 1과 환경2의 OS환경(정확히는 커널)이 다를 경우 빌드한 이미지가 제대로 실행되지 않습니다.

그래서 platforms를 기재해서 이미지가 정상적으로 실행될 수 있도록 기재해 주시는 것입니다 😀

 

정리하자면 linux/arm64/v8 가 서진규님의 OS 커널 환경인 것이고, 깃허브의 환경에서 빌드할 때 잘 실행될 수 있도록 플랫폼을 기재해 주시는 것입니다.

 

강의 들으시면서 더 궁금하신 부분이 있으시면 편하게 질문해주세요!

 

0

결국 platforms 가 없으니 manifest 에서 해당하는 플랫폼인 linux/arm64/v8 를 못찾았다고 뭐라해서 platforms: linux/arm64/v8 를 추가해서 해결했습니다..!

 

특정 OS 환경에서 컨테이너 실행하려면 platforms 를 잘 지정해두어야 하는거군요..!