2016-08-17 1 views
1

유성 앱의 배포 프로세스를 이해하는 데 도움을 줄 수 있습니까?수동으로 계측기 응용 프로그램 배포 VS mup

오랫동안 계량기를 사용했는데, 앱 호스팅을 위해 사용하려고했던 동일한 기기 (VPS)에서 처음부터 유성 앱 개발을 시작했습니다. 나는 다른 응용 프로그램을 localy로 만들었고, 완료 한 후에 다른 응용 프로그램에서 전체 응용 프로그램을 복사/붙여 넣기 만하면됩니다.

두 가지 방법 모두 예상대로 작동했습니다.

누군가 MUP의 필요성을 설명해 줄 수 있습니까? 그리고 비슷한 것들을 업로드합니다. 또한 번들 파일은 무엇을위한 것입니까? 그냥 앱의 "zip"파일이 아닙니까? 만약 내가 수동으로 (예를 들어 rar로) 압축하면 그 결과는 같지 않을 것이다. ??

그리고 저는 유령 응용 프로그램을 설치하기에 충분히 간단하다고 생각합니다.

미리 감사드립니다.

답변

2

예, 소스 폴더에 meteor CLI를 호출하여 유성을 실행할 수는 있지만 실제 빌드 및 배포에는 여러 가지 사항이 있습니다.

먼저, "개발 모드"로 실행하는 것은 지속적으로 재배치하는 코드의 변화를 볼 수있는 코드를 발생합니다. 이것은 AWS 또는 다른 클라우드 서비스와 같은 것에 배포 될 때 실질적인 비용이 드는 리소스 인 리소스를 사용합니다. 실제 작업을 수행하는 데 리소스를 사용하지는 않습니다. 그 꼭대기에

는 빌드가 코드를 최적화 다시 자원을 차지 dev에 모드에서 실행할 때이 실시간으로 수행 등 minimizers, transpilers를 실행 중입니다. 전체 MongoDB를 설치하려면 나란히 놓이는으로

마지막으로, 개발 모드, 내부 MongoDB를 실행합니다. 필자가 알고있는 한 전체 설치는 "임베디드"버전보다 성능이 뛰어날뿐만 아니라 별도의 서버에서 실행할 수 있으므로 리소스가 다시 확보됩니다.

성능을 제외하면 수동으로 복사/붙여 넣기하는 것보다 자동으로 빌드하고 배포하는 것이 좋습니다. 인간이 수동으로 무언가를 설정해야하는 경우 언제든지 실패 할 수 있습니다. 우리는 장기간에 걸쳐 반복적 인 업무를 잘 수행하지 못합니다. 전문 개발자로서 제 17 세 때, 프로덕션 및 비 프로덕션 모두에서 많은 설치 작업을했습니다. 자동 설치는 고기 설치 (실제로 설치하는 사람을 필요로하는 설치)보다 시간이 지남에 따라 실패 할 가능성이 적었습니다. 우리는 같은 단계를 반복하지 않는 경향이 있으며 결과적으로 상황이 달라집니다. 내 개인 유성 개발에서

가 나는 심지어 데브과 생산성 모두, 모든 내 배포를 수행하는 자동화 된 지속적인 통합 서버를 사용하여 촬영했다. 필자는 스크립트를 한 번 설정하고 CI 서버를 내 repo에 연결하고 변경 사항을 모니터링합니다. 코드를 업데이트하고 GIT Repo에 푸시 할 때 ... 붐! CI 서버는 새로운 코드를 가져오고, 빌드하고, 테스트하고, 모든 것이 좋게 보이면이를 배포합니다. MUP는 많은 양의 무거운 물건을 다루기 때문에 자동화 된 프로세스를 만드는 데 중요한 역할을했습니다. 빌드 또는 배포에 실패한 것이 있으면 전자 메일 알림을 받고 단순히 로그를 검토하여 발생한 문제를 확인합니다. Docker 이미지를 통해 배포하는 최신 실험용 MUP 빌드를 사용합니다. 이제는 언제든지 클러스터에 서버를 쉽게 추가 할 수 있기 때문에 좋습니다.

그리고 이미 MUP와 젠킨스 (내 CI 서버)를 통해 하나 개의 프로젝트를 자동화하는 방법을 알아 냈 때문에, 대부분 복사/붙여 넣기 내 다른 프로젝트에 대한 몇 가지 CONFIGS를 업데이트합니다.

+1

내가 언급 한 것을 잊어 버렸습니다. MUP와 MUPX만이 배포 자동화에 사용할 수있는 유일한 도구는 아닙니다. Meteor, IMHO에 대한 설정이 가장 쉽습니다. 유성을 "알고"있기 때문입니다. 고려해야 할 다른 것들은 Grunt, Gulp 및 Webpack조차도 몇 가지 이름입니다. Grunt와 Gulp는 스크립팅 도구가 더 많지만, Webpack은 Meteor의 자체 설치/빌드 api와 비슷한 방식으로 작동합니다. 즉, 일종의 스크립트를 실행하는 것처럼 패키지를 작성하려고합니다. – CodeChimp

+0

답변 해 주셔서 감사합니다. 이 "CI 서버가 인계 받아 새 코드를 끌어 내 빌드"하는 방법에 대한 몇 가지 지침이나 링크를 제공해 주시겠습니까? 앱을 업데이트하기 위해 CI 서버를 설정하는 방법을 의미합니다. 사실 그것은 "빌드"명령을 피하는 이유 중 하나였습니다. 모든 것이 축소되면 앱을 변경하는 방법을 알지 못했습니다. – Robert

+1

글쎄, 나는 젠킨스 (Jenkins)를 사용하지만 거기에는 많은 CI 서버 애플리케이션이있다. 제 경우에는 GIT repo의 특정 분기를보기위한 폴링 트리거를 설정 한 다음 MUP를 호출하여 빌드를 수행하는 간단한 SSH 빌드 단계를 사용합니다. 나는 2 개의 MUP 설정 파일을 가지고 있는데 하나는 Dev에, 하나는 Prod에 대한 것이다. 또한 자동 코드 검토를 위해 음파 탐지기를 실행하는 빌드 단계가 있습니다. 이 모든 것은 온라인에서 잘 문서화되어 있으며 전체 서적이 쓰여졌다. 컨설팅을 계획하고 있다면, 이와 같은 완전 자동화 된 프로세스를 적극 권장합니다. – CodeChimp