프로젝트

코드 커밋, 변경 내용 탐색. 코드 검토, 병합 요청 생성, 워크플로우 및 CI/CD 파이프라인 자동화. 패키지 저장소 저장 및 관리, Space에 JetBrains IDE를 연결할 수 있습니다.

개발 팀에 필요한 모든 것

프로젝트 대시보드

프로젝트 대시보드는 프로젝트의 진입점이자 표지입니다. 여기에서 프로젝트의 구성원, 저장소, 코드 검토, 체크리스트 등 최근 활동을 전체적으로 확인할 수 있습니다.

권한 및 책임

팀은 Space에서 고정된 항목이지만 프로젝트는 동적입니다. 팀을 프로젝트에 추가하여 모든 구성원에게 모든 프로젝트 리소스에 대한 액세스 권한을 클릭 한 번으로 제공하거나 개별 구성원을 초대하세요.

프로젝트를 비공개로 설정해 프로젝트 구성원에게만 보이도록 하거나 공개로 설정해 조직의 모든 사람이 볼 수 있도록 만들 수 있습니다. 프로젝트의 특정 부분에 구성원을 지정해 누가 무엇을 담당하는지 명확하게 설정할 수도 있습니다.


소스 코드 관리

웹 기반 인터페이스를 통해 비공개 Git 기반 저장소를 빠르게 호스팅하고 확장하여 코드를 검색하고 편집할 수 있으며, 구성원의 액세스 권한을 부여하는 규칙을 유연하게 설정할 수 있습니다.

온라인에서 코드 검색

온라인에서 코드 검색

변경 작성자, 브랜치 또는 파일 이름으로 커밋과 파일을 검색할 수 있습니다. 다른 개발자의 변경 내역과 코멘트를 검토하고 Diff와 논의 내용을 나란히 배열해 변경 내용과 그 이유를 파악할 수도 있습니다.

파일 편집 및 변경 내용 커밋

파일 편집 및 변경 내용 커밋

사소한 변경은 전용 코드 에디터로 전환할 필요 없이 웹 UI에서 바로 적용할 수 있습니다.

커밋 상태 API

외부의 빌드 서버에 게시된 커밋 상태를 모니터링

연결된 CI 서버로 빌드한 경우 코드 베이스에 커밋한 변경 결과가 성공적인지, 실패인지 추적할 수 있어 안심하고 병합하고 진행할 수 있습니다. Space는 TeamCity(사용 가능), GitHub Actions 또는 Jenkins(예정)와 통합되며 상태 코드, 브랜치 세부 정보, 타임스탬프 등을 검색할 수 있습니다.

소스 코드 관리 및 보호

Space에서는 매우 유연한 통합 보안 기능 지원을 선택하여 소스 코드에 대한 액세스를 안전하게 제어할 수 있습니다.

푸시 제한

구성 가능한 푸시 제한으로 소스 코드에 대한 협업을 명확하고 투명하며 안전하게 만들 수 있습니다.

브랜치 보호

세분화된 권한 체계를 사용하여 브랜치 작업의 규칙을 설정할 수 있습니다.

미러링

양방향 동기화로 GitHub의 저장소를 미러링할 수 있습니다. 외부 공동작업자의 커밋을 가져오는 방식으로 Space 내의 개발 작업을 안전하게 지키세요.

저장소 복제 예정

분산된 팀에서 일하시나요? 그렇다면 저장소 복제 기능을 사용해 보세요. 다양한 지리적 위치에서 저장소에 더 빠르게 액세스할 수 있습니다.


코드 검토

공식적인 규칙과 조건을 원하는지 여부에 관계없이 자신에게 필요한 강력하고 사용자 지정 가능하며 통합된 코드 검토 프로세스를 설정할 수 있습니다. 마스터 브랜치에 코드를 통합하기 전 또는 하나 이상의 커밋을 병합한 후에 브랜치에서 코드를 검토해 보세요. Space는 두 가지 워크플로우를 모두 간편하게 지원합니다.

코드상에서 바로 협업

코드상에서 바로 협업

코드베이스 내에서 바로 팀원과 논의를 시작하고 협업하세요. 컨트리뷰터는 직접 답변하거나 이모티콘으로 응답할 수 있습니다. 이렇게 하면 코드를 쉽게 읽고 디버그하고 유지관리하고 확장 가능한 상태로 유지할 수 있습니다. 정리되지 않은 채 남아 있는 대화는 Space 공간에 안전하게 보관됩니다.

주고받는 코드 검토 프로세스

효율적이고 효과적인 코드 검토

변경 내용을 승인하고 우려 사항을 해결하기 위한 투명한 시스템을 사용하여 검토자와 작성자 간의 논의를 추적할 수 있습니다.

코드를 업데이트하고 회신을 남기거나 논의를 해결할 수 있는 작성자와 협업하기 전에, 각 파일을 살펴보면서 커밋을 검토하고 코멘트를 입력하세요.

병합 요청

병합 요청

권한 체계를 사용하여 마스터나 기타 브랜치에 직접 커밋하는 것을 제한할 수 있습니다. 자동화 테스트가 완료된 후 또는 사전 정의된 흐름을 따르는 코드 검토가 완료되면 자동으로 수락되는 병합 요청을 만들어 보세요.

규칙 설정 예정

자동화된 테스트 모음을 실행하거나 코드 검토 후 최소한 두 명의 팀원이 승인하도록 하거나 두 가지 방법을 조합할 수 있습니다. 또 모든 조건이 충족되면 변경 내용이 자동으로 병합되도록 설정할 수 있습니다. Space Automation(자동화) 및 병합 요청 기능을 이용해 고유한 워크플로우를 정의하여 프로세스를 자동화해 보세요.


자동화 예정

광범위한 자동화 작업을 지원하는 솔루션과 함께 지속적인 배포 파이프라인을 현대적이고 직관적으로 구성할 수 있습니다.

자동화가 가능한 다양한 기능

자동화가 가능한 다양한 기능

Automation(자동화) 모듈은 이슈, 버전 관리, Teams, Chats 등 Space의 다른 모듈에서 데이터를 가져올 수 있습니다. 또한 Space 모듈은 이벤트를 생성(새로운 코드 검토, 새로운 이슈 또는 새로운 구성원 생성)하여 특정 자동화 스크립트를 트리거할 수 있습니다.

예를 들어, Space에 새로 추가된 구성원에게 귀중한 정보가 포함된 환영 이메일을 보내는 자동화 스크립트를 실행하거나 IT 팀이 워크스페이스를 설정하도록 테스크를 생성할 수 있습니다.

코드로서 구성

Space에서 Automation(자동화)은 스크립트로 구성됩니다. Space의 Automation UI는 스크립트 결과(로그, 테스트, 아티팩트)를 시각화하는 데 사용됩니다. Space는 Kotlin 기반 DSL을 스크립팅 언어로 사용하며 향후 YAML도 지원할 계획입니다.


지속적 통합 및 지속적 배포 예정

간단하면서도 강력한 CI/CD를 별도 구성 없이 사용할 수 있습니다. 빠른 테스트 보고, 병렬 실행, 로컬환경에서의 재현 기능을 제공하며 Gradle, .Net, Docker와 같은 주요 기술 스택을 지원합니다. 파이프라인 실행 결과, Job, 배포 대상은 모두 커밋 목록 및 패키지와 통합됩니다.

Job

자동화 액션을 실행하는 데 사용할 수 있는 가장 기본적인 항목입니다. 가장 간단한 자동화 스크립트는 단일 Job으로 구성됩니다.

파이프라인

이전 단계가 완료된 경우 다음 단계가 자동으로 실행되거나 게이트를 통과할 때까지 대기하는 일련의 종속 단계 및 게이트

배포 대상

배포 스크립트의 타깃, 프로덕션 또는 스테이징 서버입니다. 타깃은 항상 스크립트로 확인할 수 있는 상태로 되어 있습니다. 확인에 실패하면 별도의 롤백 스크립트를 실행할 수 있습니다.

CI/CD

컨테이너, VM, 함수

Space는 다양한 환경에서 자동화를 실행할 수 있습니다.

  • 기본 이미지 명령어에 간단히 인수를 제공하여 순수한 Docker 이미지를 실행할 수 있습니다. Docker Hub 또는 Space 이미지 저장소에 있는 Docker 이미지를 지정할 수도 있습니다.
  • Linux, Windows, macOS 가상 머신에 대한 지원이 예정되어 있습니다.
  • 서버리스 함수에 대한 지원이 예정되어 있습니다.

외부 도구와 통합

다음을 포함하여 외부 도구 및 서비스에 연결되는 다양한 API에 액세스할 수 있습니다.

  • api.docker: Docker 이미지 빌드 및 게시
  • api.gradle: Gradle을 사용하여 테스트 빌드 및 보고
  • api.dotnet: .NET Core 프로젝트에서 테스트 빌드 및 보고

이 목록은 npm, Maven, Bazel 등도 포함하도록 확장할 계획입니다.

로컬환경에서의 재현 기능

자동화 스크립트를 Space 서버로 푸시하기 전에 다음 중 하나를 사용하여 로컬에서 실행하여 테스트할 수 있습니다.

  • IntelliJ IDEA용 Space 플러그인은 로컬에서 스크립트를 실행할 수 있도록 지원하고 자동 코드 완성 및 코드 검사 기능을 제공합니다.
  • Space Automation(자동화) 명령줄 도구

패키지 관리

CI/CD 파이프라인 또는 로컬 시스템에서 패키지 저장소를 생성하고 사용할 수 있습니다. Maven, NuGet, npm 저장소를 이용하여 제품 간에 패키지를 공유하세요.

패키지 관리

앱 배포

컨테이너 레지스트리를 사용하여 앱을 컨테이너 이미지로 배포하고 해당 이미지를 배포 중에 사용합니다.

패키지 종속 요소

로컬 저장소(이용 가능)를 사용하여 패키지를 비공개로 저장 및 소비하고 미러링 저장소(예정)를 사용하여 Maven Central 또는 nuget.org와 같은 업스트림 저장소를 미러링해 필요한 패키지 종속 요소를 필요한 기간 동안 보관할 수 있습니다.

강력한 검색 기능

패키지 세부 정보를 검색해서 확인하여 패키지의 생성 방식을 파악할 수 있습니다.

패키지 취약성 분석 예정

패키지의 일반적인 취약성 문제를 자동으로 검사하도록 Space를 구성할 수 있습니다. 이러한 검사는 패키지를 프로덕션에 게시하기 전에 특히 유용할 수 있습니다.


IntelliJ 기반 IDE 통합

IntelliJ IDEA 또는 기타 IntelliJ 기반 IDE를 Space에 연결하여 프로젝트, 저장소, CI 빌드 그리고 팀에 액세스할 수 있습니다.

IntelliJ 기반 IDE 통합
  • 프로젝트 저장소를 복제할 수 있습니다.
  • 누락된 Space 패키지 참조를 IDE에서 바로 해결할 수 있습니다. 예정
  • IDE에서 바로 동료와 코드 검토를 수행하고 코드 조각에 관해 논의할 수 있습니다. 예정
  • IDE에서 Space 자동화 스크립트를 편집하고 로컬로 실행할 수 있습니다. 예정
  • 코드를 디버그할 때 Space의 알림이 자동으로 꺼집니다. 예정