흑우마스터의 마법의 공간

Visual Studio 2022+에서 AWS Toolkit을 활용하여 AWS ECR Registry에 소스 코드 배포하기 본문

프로그래밍/Docker

Visual Studio 2022+에서 AWS Toolkit을 활용하여 AWS ECR Registry에 소스 코드 배포하기

흑우마스터 2023. 8. 18. 14:08

AWS Toolkit for Visual Studio 2022을 사용하여 비주얼스튜디오에 AWS에 쉽게 코드를 배포하거나 도커, 서비스를 배포할 수 있다.  도커 배포를 활용해서 리눅스에도 쉽게 배포는 가능했지만 공개 된 이미지가 아닌 회사 자산인 경우에는 Docker Hub Private Registry에 저장할 수도 있겠지만 이것보단 이미 회사에서 AWS를 쓰고 있다면 ECR 쪽에 보관하는 것이 좋다.

 

단순히 보관 뿐만 아니라 Fargate 등 클러스터를 구성하여 배포할 수도 있고 설정을 조금만 건드려준다면 로드밸런서까지 쉽게 구성이 가능하기 때문이다.

 

 

솔루션에서 오른쪽 마우스를 눌러 컨텍스트 메뉴를 누르면 다음과 같은 메뉴가 나오는데 여기서 Publish to AWS나 Publish Container to AWS를 사용해서 배포가 가능하다.

 

Publish to AWS 메뉴 시

 

Publish Container to AWS 메뉴 시

 

이 메뉴를 통해 배포를 진행할 수 있으며 이 기능을 사용하기 위해서는 IAM에서 엑세스키와 시크릿키를 발급받아 툴킷에 적용을 한 상태여야 된다. (기능이 동작하지 않는다면 해당 IAM에 권한이 충분한지 체크해봐야 됨)

 

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["프로젝트명.csproj", "."]
RUN dotnet restore "프로젝트명.csproj"
COPY . .
WORKDIR "/src"
RUN dotnet build "프로젝트명.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "프로젝트명.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

ENTRYPOINT ["dotnet", "프로젝트명.dll"]

 

만약에 배포가 되지 않고 오류 내용 중에 csproj이 뭐가 없다면서 에러가 나올 수 있는데 이 경우에는 닷넷 6기준에서 위 코드를 수정하면 된다.  (아마도 프로젝트명/프로젝트명.csproj 을 찾을 수 없다는 것이었다)

 

그렇게 되면 이렇게 프라이빗 리포지토리에 코드가 업로드 된다. 

 

이 코드들은 aws-cli 등을 사용해서 받을 수 있는데 잘 모른다면 받거나 업데이트 하고자 하는 프로젝트를 선택하고 오른쪽 상단에 푸시 명령 보기 를 눌러보면 어떻게 세팅해야 되는지 확인할 수 있다