맥에서 ASP.Net Core 빌드하기
오픈소스 기여
사이드 프로젝트나 나만 쓰는 앱1을 만드는 것도 재미가 있지만 헛힘을 쓰고 있다는 생각이 들 때가 있다. 나 혼자 쓰는 프로그램의 소스를 1부터 100까지 쌓아가는 것 보다 1000이나 10000정도 쌓여있는 프로젝트에 소스나 문서를 1이라도 더 올리는게 나에게도 세상에게도 훨씬 더 도움이 될 것 같다는 생각이 들었다. 어떤 프로젝트에 기여하면 좋을까 고민하다가 마침 회사에서 React+ASP.NET Core로 새 프로젝트를 시작하게 되어서 ASP.NET Core2에 기여하는 것을 목표로 함. 소스를 통한 기여만이 기여가 아니고 문서화, 커뮤니티 참석 등 다양한 방법3이 있다고 하지만 역시 소스를 기여해야 뭔가 일을 한 것 같은 기분이 든다. 우선 포크를 뜨고 개발 환경을 갖춰보자.
빌드하기
잘 관리되는 오픈 소스인 만큼 저장소 인덱스 페이지를 보면 기여하고 피드백하기4라는 항목이 별도로 빠져있다. 맥북에서 작업을 진행할 예정이므로 소스에서 빌드하기5 부분 중 맥과 비주얼 스튜디오 코드를 이용한 빌드하기 부분을 따라해보자. 당연하지만 이 글보다는 원문 링크가 항상 최신 내용이며 옳다.
사전 준비 - 소프트웨어
- OS 버전 : 시에라 이상
- 10GB 이상 하드 여유공간
- curl이나 wget
- 당연히 git
- NodeJS는 10.14.2 이상
- JDK 11이상
- Visual Studio Code
소스 저장소 클론
포크를 뜨거나 원본 저장소에서 클론을 뜨자.
git clone --recursive https://github.com/dotnet/aspnetcore
--recursive옵션을 넣지 않으면 빌드 스크립트를 돌릴 때 찾을 수 없다는 에러를 뿌리므로 주의하자.
/Users/jeonghan/.nuget/packages/microsoft.build.tasks.git/1.1.0-beta-20206-02/build/Microsoft.Build.Tasks.Git.targets(24,5): error : Could not find file '/Users/jeonghan/Workspace/aspnetcore/src/submodules/googletest/.git'. The source code won't be available via Source Link. [/Users/jeonghan/Workspace/aspnetcore/src/Analyzers/Internal.AspNetCore.Analyzers/src/Internal.AspNetCore.Analyzers.csproj]
비주얼 스튜디오 코드를 이용한 빌드
심플하게 세줄만 입력해주면 된다. 윈도우 환경에 대한 빌드 쉘(.cmd, .ps1)도 같이 들어있으므로 신경쓰지 말고 하자.
./restore.sh # 필요한 파일 다운로드soucce activate.sh # 환경 변수 설정code . # VSCode 실행
요래조래 수정을 하고 아래와 같이 빌드 쉘을 돌리면 빌드가 된다.
./build.sh
프로젝트가 엄청 커서 빌드 시간이 오래 걸리긴 함. 타겟은 debug가 기본이며 /p:Configuration=Release를 통해 릴리즈 빌드를 만들 수 있다.
이제 시작
이제 빌드도 되었으니 이슈를 보며 혹은 고치고 싶은 것을 이것저것 고쳐보자! 만세!