4

새 컴퓨터로 옮길 때마다 모든 dev 도구를 설정하는 데 지치거나 피곤합니다. 지속적인 설치 및 제거가 필요한 레지스트리.가상 머신에서 내 개발 도구를 실행하는 것에 대한 조언

그래서 새로운 계획입니다. 나는 그들의 개발 환경을 가상화하는 사람들에 대해 들어 봤으며 이것은 훌륭한 아이디어처럼 들린다. 유일한 문제는 가상 머신 실행에 대한 경험이 거의 없기 때문에 항상 모르는 상태에서 항상 수행하는 작업입니다. stackoverflow에 문의하십시오.

가상 컴퓨터에서 개발 환경을 실행합니까? 나는 무엇을주의해야합니까? 명백하지 않은 장점은 무엇입니까?

내 회사의 Active Directory 도메인에있는 XP가있는 Dell Optiplex 760에 무료 버전의 VMWare 서버가 설치되어 있습니다.

내가 Dev Tools라는 XP가 설치된 25 기가의 VM을 만들었습니다. 이것은 어떤 도메인에도 없습니다. Visual Studio, TortoiseSVN, Git, Ruby, Toad 등이 여기에 있습니다. 또한 코드 파일을 저장하기위한 가상 디스크를 만듭니다.

좀 더 질문 :

  • 내가 매일 웹 브라우징은 호스트 시스템에서 수행해야합니다 아니면 다른 VM이 아직 스핀 업해야합니까? 김프와 같은 비 -deb 응용 프로그램을 호스트 또는 새 VM에 설치할 것인지 결정할 때 사용할 엄지 손가락 규칙은 무엇입니까?
  • 내 개발 데이터베이스는 어떻게됩니까? 자체 VM을 가져야합니까?
  • 실제 하드 드라이브의 가장 좋은 배열은 무엇입니까? 호스트와 클라이언트 VM이 같은 것을 사용하지 않아야합니까? SSD를 얻으려고합니다.이 속도가 어떻게 최적화 될까요?
  • 관리자 권한이없는 .NET을 개발하는 것은 엉망입니다. 그러나 호스트 컴퓨터에서 관리자 권한으로 실행해야합니까?
  • 내 25 기가의 dev 도구 컴퓨터를 백업하기위한 좋은 해결책이 있습니까? 얼마나 자주 백업을합니까? 나는 1 년 후 그것을 복원하고 거기에있는 모든 단일 응용 프로그램을 업데이 트하는 시간을 보내고 싶지 않아요.

답변

2

가상 컴퓨터는 바로 컴퓨터입니다. 원하는 곳을 찾아보십시오. 내 메인 컴퓨터에서 내 탐색을 수행하지만 Foxmarks를 사용하여 컴퓨터간에 동기화 된 상태로 유지하므로 탐색 할 때 너무 중요하지 않습니다.

호스트 박스에 디스크, CPU 및 RAM이 있다면 별도의 상자에 DB를 설치하는 것이 좋습니다. 필요한 경우 나중에 다른 위치 (물리적 호스트조차도)에서 쉽게 이동할 수 있습니다. 또한 db 머신을 앱 컴퓨터에서 멀리 떨어져있게하는 (좀 더 현실적인) 상황에서 작업하도록 강요합니다.

스윙 할 수 있다면 VM 하드 디스크 이미지 (또는 더 나은 아직 원시 HD 액세스)가 다른 물리적 디스크 및 컨트롤러에 있으면 일반적으로 더 나은 성능을 제공합니다. 나는 일반적인 devbox를 위해 너무 많이 걱정하지 않을 것이다.

일반적으로 dev 환경에서 관리자로 실행하면 실수로 액세스 종속성 문제가 발생할 수있는 좋은 방법입니다. 최소 권한 원칙이 적용됩니다.

3

기본 OS 대신 개발 용으로 VM OS를 사용하는 것이 좋습니다. 능력이 좋은 일을 할 때 전체 dev 환경을 쉽게 백업하고, 무서운 일이 생기면 5 분 내에 복원하는 능력은 정말 안도합니다.

우리 팀은 모든 개발자 도구가 설치된 참조 VM을 사용했습니다. 새로운 개발자는 참조 VM의 사본을 얻고 원하는대로 자유롭게 사용할 수있었습니다. 우리는 IDE, 클라이언트, 응용 프로그램 서버 및 데이터베이스 서버가 포함 된 단일 VM을 사용하여 방금 모든 것을 훨씬 단순하게 만들었습니다. 나는 다른 VM에 이것을 두는 것이 어떤 이점도 제공했을 것이라고 생각하지 않는다.

웹 검색의 경우 VM 또는 기본 OS에서 수행했는지 여부는 중요하지 않은 것으로 나타났습니다. 대부분의 경우 VM을 사용하는 것이 대부분입니다. 맞춤 앱의 경우 일반적으로 기본 OS에 설치되었습니다. 여러 경우에 팀원 (자신 포함)이 문제가 발생하거나 개발자 환경의 일부가 엉망이되는 실수를 저질렀습니다. 문제를 해결하기 위해 시간을 낭비하는 대신, 참조 VM을 다시 잡고 코드를 업데이트하고 새로 시작합니다. 따라서 VM에 너무 묶이지 않는 것이 가장 좋습니다. 기본 OS에 맞춤 앱을 설치하고 기본 또는 네트워크 드라이브에 중요한 정보를 저장하면 신속하게 교체 할 수 있습니다.

+1

+1 쉬운 재 이미징 가능성과 새 장치 상자를 신속하게 설치할 수있는 능력은 정말 뛰어납니다. – Paolo

+0

IMO 이렇게하면 대기업 IT 부서에서 개발 PC를 처리해야합니다. 기본 OS를 제한하되 개발자에게 관리 권한이있는 VM을 제공하십시오. –

1

저는 웹 개발의 종류마다 VM을 가지고 있습니다. 하나는 .NET 용, 하나는 PHP 용, 다른 하나는 새로운 기술이나 도구를 시연하기위한 것입니다. 데비안과 관련이없는 것들은 일반적인 데스크톱 (워드, 게임, 재미있는 브라우징, CD 굽기 도구 등)을 사용합니다.

내 VM 및 모든 컴퓨터에서이 VM을 쉽게 이동할 수 있습니다. 전체 dev 환경을 다시 구성하는 것에 대해 걱정할 필요없이 새로운 시스템을 평평하게 만듭니다. 그것은 내 마음 속에서 일과 즐거움을 섞어서는 안된다. 일단 dev VM을 시작하면 나는 작업 모드에있다. 그래서 나는 전체 스크린으로 작업을 시작한다. 북마크에서 내 트위터에 액세스하거나 게임을 할 수 없어 생산성이 높아졌습니다.

큰 문제는 VM을 빠르게 실행하는 것입니다. 제안 두 번째 디스크, SSD, 클라이언트 OS 및 다른 것들을 최적화 (내가 잘 처리하지 못함)하면 타이핑의 경험이 훨씬 빨라집니다. 일반 데스크탑과 동일한 응답으로 IDE에 입력 할 수 없다면 장기적으로 VM을 사용하지 않을 것입니다.

2

데이터베이스, 아파치 등과 같은 개발 서버에 가상 머신을 사용하고 싶습니다. 실제 개발 작업은 내 코드 저장소와 이맥스가있는 호스트 컴퓨터에서 수행됩니다. 리눅스를 좋아하기 때문에 코드와 작업 공간 구성을 백업하거나 rsync를 사용하여 어디서나 개발 작업 공간을 신속하게 설정할 수 있습니다. 나는 한 달에 한 번 내 가상 이미지를 백업한다고 생각하고 그 이미지는 두 대의 컴퓨터에 미러링됩니다.

관련 문제