이너 소스를 발전시키는 방법 탐색

완료됨

포크 기반 끌어오기 요청 워크플로는 누구나 프로젝트에 참여할 수 있기 때문에 오픈 소스 프로젝트에서 인기가 있습니다. 기존 참가자이거나 변경 내용을 제공하기 위해 프로젝트에 대한 쓰기 액세스 권한이 필요하지 않습니다.

이러한 워크플로는 오픈 소스만을 위한 것이 아닙니다. 포크는 회사 내 이너 소스 워크플로를 지원하는 데도 도움이 됩니다.

기존 팀 워크플로

포크 전에 끌어오기 요청을 사용하여 프로젝트에 기여할 수 있습니다. 워크플로는 간단합니다.

  1. 리포지토리에 새 브랜치를 push하십시오.
  2. 풀 리퀘스트를 열어 팀의 코드 검토를 받습니다.
  3. Azure Repos에서 브랜치 정책을 확인하도록 합니다.
  4. 한 단추를 클릭하여 끌어오기 요청을 기본으로 병합하고 코드가 승인되면 배포합니다.

이러한 워크플로는 팀과 함께 프로젝트 작업을 하는 데 유용합니다. 그런데 회사 내 다른 프로젝트에서 간단한 버그를 발견했고 직접 해결하고 싶다면 어떻게 하나요? 사용하는 프로젝트에 기능을 추가하지만 다른 팀이 개발하려면 어떻게 해야 하나요?

이때 포크가 중요한 역할을 합니다. 포크는 내부 소스 관행의 핵심입니다.

내부 원본이란?

내부 소스("내부 오픈 소스"라고도 함)는 회사 방화벽 내에서 오픈 소스 소프트웨어 개발의 모든 이점을 제공합니다.

내부 소스는 개발자가 회사 전체의 프로젝트에서 쉽게 공동 작업할 수 있도록 소프트웨어 개발 프로세스를 엽니다. 오픈 소스 소프트웨어 커뮤니티에서 널리 사용되는 동일한 프로세스를 사용하지만 조직 내에서 코드를 안전하고 안전하게 유지합니다.

내부 소스의 이점

  • 팀 간 공동 작업: 팀은 일반적으로 공동 작업하지 않더라도 프로젝트에서 함께 작업할 수 있습니다.
  • 지식 공유: 개발자는 다른 팀에서 작성한 코드에서 학습하고 해당 단원을 자신의 작업에 적용할 수 있습니다.
  • 코드 재사용: 동일한 기능을 여러 번 빌드하는 대신 팀은 기존 작업을 빌드할 수 있습니다.
  • 품질 개선: 더 많은 사람들이 코드를 검토하고 기여하면 일반적으로 더 나은 품질의 소프트웨어로 이어집니다.
  • 더 빠른 혁신: 팀은 처음부터 시작하는 대신 기존 솔루션을 빌드하여 더 빠르게 이동할 수 있습니다.

Microsoft의 이너 소스 여정

Microsoft는 이너 소스 접근 방식을 많이 사용합니다. Azure Repos의 지원을 받아 회사 전체에서 하나의 엔지니어링 시스템을 만들기 위한 노력의 일환으로 Microsoft는 모든 프로젝트의 소스 코드를 회사 내의 모든 사용자에게 공개했습니다.

내부 소스 전

내부 소스로 전환하기 전에, Microsoft는 분리된 상태였습니다.

  • Windows에서 작업하는 엔지니어만 Windows 소스 코드를 읽을 수 있습니다.
  • Office에서 작업하는 개발자만 Office 소스 코드를 확인할 수 있었습니다.
  • Visual Studio에서 작업하는 엔지니어이고 Windows 또는 Office에서 버그를 발견했거나 새 기능을 추가하려는 경우 운이 좋지 않았습니다.

내부 소스 이후

Azure Repos에서 지원하는 회사 전체의 이너 소스로 이동하면 리포지토리를 쉽게 포크하여 다시 기여할 수 있습니다. 변경한 개인은 원래 리포지토리에 대한 쓰기 액세스 권한이 필요하지 않으며, 이를 읽고 포크를 만드는 기능만 있으면 됩니다.

이 방법은 가능하게 했습니다.

  • 팀 전체에서 더 나은 공동 작업
  • 더 빠른 버그 수정 및 기능 개발.
  • 광범위한 검토를 통해 코드 품질이 향상되었습니다.
  • 프로젝트 간 작업 중복 감소.