기술지원 문의는 로그인 후에 가능합니다.

확인

Tech Blog

단군소프트에서 제공하는 소프트웨어 활용에 도움을 줄 수 있는 정보와 소프트웨어 새소식, 교육/세미나 정보를 제공해드립니다.

태그 모음

소프트웨어 소식

Space에서의 원격 개발을 소개합니다!

21-12-08


안녕하세요, JetBrains 한국 총판 단군소프트입니다.



JetBrains로부터 중요한 소식을 이미 전해 들으셨을 것으로 생각합니다. 이 글은 바로 JetBrains IDE를 위한 원격 개발 솔루션에 관한 것입니다.


이 솔루션은 로컬 컴퓨터 또는 느린 노트북의 한계를 극복하고 개발자가 보다 효율적으로 작업하고 시간을 절약하며 프로젝트에 더 많이 기여할 수 있도록 하는 것을 목표로 하고 있습니다.


이러한 목표를 염두에 두고 JetBrains는 IDE의 프런트엔드와 백엔드를 분리하기로 결정했습니다. IDE 사용자 인터페이스를 렌더링하고 원격 백엔드와 통신하는 클라이언트가 로컬 시스템에 설치하는 유일한 소프트웨어 입니다. 그러면 원격 백엔드가 색인 생성 및 구문 트리 빌드, 코드 완성 및 리팩터링 제공 등과 같이 소스 코드를 이용한 모든 작업을 모두 처리합니다.


원격 백엔드로 무엇을 사용할 수 있나요?

여러 옵션이 있지만 JetBrains IDE 원격 백엔드에 대해 JetBrains에서 자체적으로 일부 최상의 지원을 제공할 수 있다고 생각합니다. JetBrains Space에 도입된 클라우드 개발 환경을 기쁜 마음으로 알려드립니다!

위의 영상에서는 한국어 자막을 지원합니다.


Space 개발 환경을 사용하면 원격 개발 프로세스를 빌드하고 다음의 프로세스를 수행할 수 있습니다.

1. 표준화된 환경으로 온보딩 속도 개선.
2. 사전 빌드된 스냅샷으로 IDE를 수 초 이내에 즉시 사용.
3. 개발 환경을 중앙 집중식으로 관리.
4. 수면 모드 상태로 자동 전환되는 개발 환경을 활용하여 리소스 절약.
5. 여러 작업을 동시에 수행.
6. 팀원과 코드 공동 작업.

Space 개발 환경과 이를 사용하는 방법에 대해 자세히 알아보려면 이 블로그 게시물을 읽어보세요.

개발 환경이란 무엇인가요?

개발 환경은 프로젝트 소스 코드에 액세스할 수 있고 로컬 코드 에디터에 백엔드 구성 요소를 제공하는 Docker 컨테이너를 포함한 전용 가상 머신입니다. 컨테이너는 Space Automation에서 사용되는 것과 동일한 엔진에서 호스팅됩니다. 작동 방식에 대해 자세히 알아보려면 이 문서를 읽어보세요.




원격 개발에 Space를 선택해야 하는 이유


Space는 소프트웨어 팀과 프로젝트를 위한 올인원 솔루션으로, Git 저장소 호스팅과 CI/CD 파이프라인 자동화부터 패키지 게시에 이르기까지 전체 개발 수명 주기를 지원하는 도구로 개발되었습니다.

오늘부터 Space에서 원격 개발 환경을 클라우드의 가상 머신으로 자동 관리하여 원격 소프트웨어 개발 워크플로를 보다 원활하게 처리할 수 있습니다.




JetBrains가 준비한 통합 원격 개발 파이프라인

Space를 사용하면 개발 환경을 구성, 가동, 복제 및 관리하고 JetBrains IDE에 연결하고 몇 초 만에 코딩을 시작할 수 있습니다.

JetBrains의 차세대 IDE인 IntelliJ IDEA Ultimate 및 Fleet은 이미 Space 개발 환경에서 원격 개발을 지원하고 있으며 PyCharm, GoLand, WebStorm, CLion 및 기타 JetBrains IDE도 곧 이 대열에 합류할 예정입니다.

(JetBrains의 원격 개발 솔루션에 대해 자세히 알아보려면 이 블로그 게시물을 읽어보세요.)



비용 효율적 솔루션

Space는 프로젝트 규모에 맞는 VM을 제공하고 30분 동안 활동이 없으면 개발 환경을 자동으로 수면 모드로 전환하여 원격 개발 환경의 실행 비용을 최적화하도록 도움을 줍니다. (개발 환경 요금제와 사용 가능한 VM 유형에 대해 자세히 알아보세요.)



코드를 안전하게 관리

코딩 작업 공간을 실행하는 모든 가상 머신은 서로 분리되어 있으며 하나의 가상 머신이 둘 이상의 환경을 실행할 수 없습니다. 개발 환경의 가상 네트워크도 분리됩니다. 개발 환경을 수명이 짧은 Git 브랜치처럼 취급할 수 있으며 영구적인 로컬 개발 환경을 유지 관리할 때 발생하는 여러 불편함을 피할 수 있습니다. 작업이 모두 끝나면 개발 환경을 간단히 삭제할 수 있습니다.



유연한 인증 및 권한 부여

유연한 프로젝트 기반의 권한 구성이 지원되므로 프로젝트 코딩 작업 공간을 사용하고 관리할 수 있는 사용자 권한만 구성하면 됩니다.





Space 개발 환경에서 현재 무엇을 이용할 수 있나요?



- 사전 구성되고 복제 가능한 환경

개발 환경은 Docker 컨테이너에서 실행되므로 Dockerfile을 사용하여 프로젝트에 필요한 모든 도구와 라이브러리를 설치할 수 있습니다.

프로젝트에 ./.fleet/Dockerfile 파일이 없으면 Space는 디폴트 컨테이너 이미지를 사용합니다. 이를 통해 개발 환경이 팀 전체에 맞게 조정되고 신규 개발자의 온보딩 환경을 간소화할 수 있습니다.

프로젝트를 위해 로컬 시스템을 준비할 필요가 없기 때문에 거의 즉시 개발을 시작할 수 있습니다.




- 개발 환경 가동 준비


이 개발 환경의 가장 매력적인 부분이에요!

Space를 사용하면 Git 저장소를 복제하고, 프로젝트 인덱스를 구축하고, 종속 요소를 해결하는 등 작업에 적합하게 백엔드를 준비할 수 있습니다.

마치 누군가가 여러분보다 한 시간 먼저 사무실에 도착하여 컴퓨터를 켜고 IDE에서 프로젝트를 열고 여러분을 위해 모든 것을 준비해 놓은 것처럼 보일 것입니다. 따라서 100% 준비된 IDE에서 하루를 시작할 수 있습니다.

이 가동 준비는 Space Automation 의 도움으로 이루어집니다.

- 프로젝트의 .space.kts 파일에 가동 준비 작업을 추가하세요.

- 필요한 모든 가동 준비 스크립트를 작업에 포함시킨 다음 실행하세요.

작업을 매일 일정에 따라 실행되도록 구성할 수도 있습니다.

(개발 환경을 가동 준비하는 방법을 알아보려면 이 문서를 읽어보세요.)







- 개발 환경 공유

개발 환경에 대한 링크를 동료에게 보내면 동료가 IDE에서 개발 환경을 열고 코드를 확인 및 실행한 다음 디버그할 수 있습니다(현재는 Fleet에서만 사용 가능).




- 개발 환경 수면 모드

- 개발 환경이 30분 이상 사용되지 않으면 자동으로 수면 모드로 전환됩니다.

- 컨테이너가 종료되고 해당 가상 머신이 해제됩니다.

- 저장되지 않은 모든 변경 사항은 개발 환경 스토리지에 저장됩니다.

- 다시 작업할 준비가 되면 정확히 동일한 스토리지를 탑재하여 환경을 복원할 수 있습니다.

- 개발 환경 수면 모드는 사용하지 않는 리소스로 인해 비용이 발생하는 것을 막아줍니다.




- JetBrains IDE 지원

현재 사용 가능한 옵션은 두 가지가 있습니다.


- JetBrains Gateway와 IntelliJ IDEA(Toolbox App을 통해 설치 가능) – IntelliJ IDEA.

IntelliJ IDEA는 로컬에 설치되며 JetBrains Gateway 런처를 사용하여 개발 환경에 연결됩니다. 초기 릴리스에서는 IntelliJ IDEA만 Space 개발 환경에서 지원됩니다. 다른 IntelliJ 기반 IDE에 대한 지원이 진행 중이므로 업데이트를 계속 지켜봐 주세요.


- JetBrains Fleet(조기 테스트 버전으로 제공) – 차세대 JetBrains IDE.

완전히 새롭게 빌드된 Fleet은 분산형 IDE 아키텍처, 새롭게 구성된 UI, IntelliJ 코드 처리 엔진을 사용합니다. 원격 및 공동 작업 워크플로는 Fleet의 기본 구성 요소입니다.





- 확장성

프로젝트 규모에 맞추고 비용을 최적화하기 위해 다음 세 가지 인스턴스 유형 중 하나를 선택할 수 있습니다: Regular(4 CPU 코어, 8GB RAM), Large(8 CPU 코어, 16GB RAM) 또는 Extra Large(16 CPU 코어, 32GB RAM)





향후의 계획은 무엇인가요?


- 더 많은 IDE에 대한 지원

IntelliJ IDEA Ultimate 및 Fleet 외에도 PyCharm, GoLand, WebStorm, CLion 및 기타 IntelliJ 기반 JetBrains IDE도 지원할 계획입니다.


- 웹 앱 개발자를 위한 개발 환경 공유

웹 앱을 개발 중이고 팀원 중 누군가가 최신 변경 사항을 테스트하려고 한다고 생각해 보세요. 일반적으로, 로컬 시스템에서 앱을 개발하는 경우 변경 사항을 커밋 및 푸시하고 로컬 네트워크에서 사전 프로덕션 환경을 준비해야 합니다. 개발 환경에서는 앱을 빌드하고 실행하기만 하면 됩니다. 공유 가능한 링크를 생성하면 해당 링크가 있는 모든 사람이 인증 없이 웹 앱에 액세스할 수 있습니다.


- 여러 Git 저장소 지원

현재, 개발 환경은 하나의 프로젝트 저장소에서만 작동할 수 있습니다.



- 기타 기능

- 다양한 초대 흐름과 협력자/게스트 목록을 지원하는 고급 공유 옵션.

- 개발 환경에 대한 사용자 비밀 프로비저닝.

- 개발 환경 작업 공간을 설명하기 위한 Devfile 서식 지원.

- 리소스 할당량을 지원하는 조직 및 프로젝트 수준의 개발 환경 리소스 관리.

- 온프레미스 개발 환경.

- 보안 감사 및 기타 기능.




클라우드 개발 환경으로 개발을 시작하는 방법


컴퓨터에 JetBrains Fleet 또는 JetBrains Gateway를 설치하고 Space에서 프로젝트를 호스팅하기만 하면 됩니다. 자세한 지침을 따라 다음 작업을 진행해 보세요.

- 개발 환경에서 개발 시작.

- 프로젝트 용 개발 환경 준비.

- Space에서 Git 저장소를 미러링하여 기존 저장소와 함께 개발 환경 사용.





Space 개발 환경과 관련하여 문제가 있는 경우 웹사이트를 통해 요청을 제출하여 지원팀에 문의하세요.

Space 개발 환경에 대해 어떻게 생각하세요? 아래 댓글에 여러분의 생각과 피드백을 남겨주세요.






태그