Azure Devops 파이프라인 만들기? 질문 입니다

일단 지금 asp.net core 로 프로젝트 진행 중에 있습니다.
azure devops 를 도입해서 빌드 파이프라인, 릴리즈 파이프라인을 만들어서
CI/CD를 활용하려고 합니다.

소스가 커밋 되었을 때 트리거를 통해 자동으로 빌드를 하고
빌드가 완료되면 웹서비스에 배포 되도록 파이프라인을 만들었는데요

문제는 솔루션에 프로젝트가 여러 개 있을 때 입니다.
여러 개 프로젝트를 각각의 웹 서비스로 배포가 가능할까요?

혹시 해 보신 분이나 운영하고 계신 분 있으면 힌트라도 부탁드립니다.

2개의 좋아요

음…해보지 않고 답변드려 죄송하지만…Docker File을 프로젝트마다 만드시고 이미지로 빌드하시면 안되나요? 커밋해도 CI 파이프라인 작성 시 도커파일을 참조하게 되어있는데 그 도커파일에서 csproj 파일도 참조합니다… 따라서 프로젝트마다 dockerfile을 작성하시면 될거 같습니다.

저같은 경우는 하나의 솔루션에 콘솔 프로젝트가 두 개 있고 두개의 콘솔 프로젝트에 각각 dockerfile이 있어서 커밋 시 이 도커파일을 토대로 한쪽 프로젝트에만 수정이 있어도 커밋 트리거가 발생했기 때문에 두 이미지가 모두 빌드됩니다.

ASP.NET Core가 아니라서 좀 다를 수 있을지는 모르겠네요…

2개의 좋아요

전 일단 vs 2019 pro 버전을 이용하고요, 일단 빌드 파이프라인에서 빌드를 할 수 있는 단위가 솔루션 단위이고, 해당 솔루션의 각 프로젝트를 빌드 할 때 릴리스 파이프라인 프로세스 내 배포 할 때 참조하는 파일을 만듭니다. 그런데 각 프로젝트 별로 생성 되는 것이 아닌 마지막 빌드한 프로젝트 기준으로 남게 되서 원하는 웹서비스가 배포가 되지 않아요. 개별로 할 수만 있으면 프로젝트 여러 개를 1개의 솔루션을 관리 할 수 있을 것 같은데 안되면 개별 솔루션으로 쪼개야 하는 상황 입니다.ㅠ

2개의 좋아요

혹시 파이프라인을 어떤 식으로 생성하시는지 알 수 있을까요? 메뉴 선택하는 과정이요

1개의 좋아요

빌드 파이프 라인은 기본 템플릿은 ASP.NET core 를 기준으로 사용하고요,
test 만 제외해서 사용하고 있습니다.
Use NuGet, NuGet restore, Build Solution, Publish sysbols path, Publish Artifact로 사용합니다.
릴리스 파이프라인은 IIS 배포 템플릿 사용합니다.
위에서 만든 아티펙터 기준으로 스테이지 내부에 IIS Web App Manage, IIS Web App Deploy 순으로
진행해서 솔루션 내 1개 프로젝트가 있을 때에는 잘 동작하는 것을 확인 하였는데
한 솔루션 내에 여러 프로젝트가 있고 각각의 다른 웹서비스에 배포하는 것을 하고 싶은데
azure devops에 대한 이해가 부족해서 그런지 잘 안되네요 ㅠ

그리고 댓글 달아주셔셔 감사합니다.

빌드 파이프라인을 솔루션 단위로 빌드하지 않고 프로젝트 단위로 할 수 있는
작업이 있어 해당 작업을 이용하고 빌드 파이프라인을 여러 개 작성하여 사용하는 것으로
해결 하였습니다.
Azure DevOps에서 빌드 관련 된 작업은 총 2가지로 한가지는 Visual Studio Build와 MSBuild 가 있습니다. 이 중에 MSBuild가 프로젝트 단위로 빌드가 가능합니다.

원래 원하던 방향이었던 솔루션 빌드하고 여러개 프로젝트를 한번에 각각 다른 서비스로 배포하고자
하는 것을 포기하고 각각 빌드해서 배포하는 것으로 수정하여 해결하였습니다.

감사합니다.

1개의 좋아요