문제

호스팅 된 웹 앱의 새 버전을 공개하는 가장 좋은 방법은 무엇이며 일반적으로 얼마나 자주 출시됩니까? 자의적 날짜를 선택하고 매주, 월 등을 선택합니까? 누적 된 수정 세트를 출시하려면 (아마도 선박 날짜에 대한 Joel의 접근 방식)? 그보다 훨씬 오래 기다리는 것은 호스팅 된 앱의 주요 이점의 일부를 물리 치는 것처럼 보입니다. 반면에, 당신은 사용자를 혼란스럽게 할 수있는 새로운 기능을 지속적으로 출시하고 싶지 않을 것입니다 (즉, 로그인 할 때마다 다른 것이 있다면).

최근까지 내 경험은 주로 설치된 서버 기반 또는 데스크탑 앱을 사용했습니다. 사람들이 호스팅 된 앱과 함께 어떤 유형의 릴리스 관리를 사용하는지 궁금합니다.

도움이 되었습니까?

해결책

Google의 접근 방식은 아마도 최종 사용자에게 가장 적합하지만 복잡한 비용으로 발생합니다.

그들은 새로운 버전 (때로는 개인 변경)을 꽤 일정한 기준으로 (프로젝트에 따라 매일) 롤아웃합니다. 그러나 여기에 키커가 있습니다. 사용자의 소수만이 새 버전을 제공합니다.

Google은 대형 제품에 대해 많은 사용자를 보유하고 있으므로 "사용자의 5% 가이 기능을 볼 수 있어야합니다"와 같은 규칙을 제시하는 것이 실용적입니다.

그런 다음 결과를 분석하고 다음 릴리스, 아마도 사용자 모집단의 15%를 계획 할 수 있습니다.

다른 팁

엔지니어가 살기 위해 일상을 정의하기를 원하는만큼 실제로는 시스템의 비즈니스 요구에 의해 주도 될 것입니다. 그것은 또한 업데이트의 특성 등에 달려 있습니다 ...

컨텐츠 및 HTML 업데이트가 밀려나는 것은 큰 일이 아닙니다. 응용 프로그램 변경은 큰 문제가되어야하며, 생중계되기 전에 미리보기 사이트에서 확립 된 테스트 루틴을 거쳐야합니다.

확실히 한 가지는 변경 (및 배포되지 않은) 변경을하는 매우 "깨끗한"방법이 필요하다는 것입니다. 또한 변경 사항을 검토하고 감사하는 "쉬운"방법이 필요합니다.

"git"과 "rsync"의 혼합을 사용하면 프로세스를 완전히 제어 할 수 있습니다. 프로젝트의 모든 변경 사항은 "생산"지점에서 분기 된 지점에서 개발됩니다. 변경 사항이 실시되기 전에 "프로덕션"지점을 완전히 병합해야합니다. 라이브 행위는 단순히 적절한 지점을 "생산"으로 병합하고 라이브 서버로 rsynging하는 것입니다. git은 이것을 정말 쉽게 만듭니다.

이를 통해 라이브 변경이 진행되는 다른 변화와 충돌 할 수 없습니다.

이 시스템을 채택한 이후, 우리의 배포 루틴은 효율성과 선명도가 크게 증가했습니다. 그건 그렇고, 우리의 배포는 하루에 여러 번, 몇 개월마다 한 번에 이르기까지 다양합니다. 그것은 모두에 달려 있습니다. 활성 프로젝트에서 주당 1-2 릴리스주기를 선호합니다.

일찍 석방되고 자주 석방되는 것은 내가하는 일과 우리가 일하는 곳입니다. 우리는 또한 업데이트를 만들 때마다 업데이트에 대해 블로그를 작성합니다. 모든 업데이트를 한 번에 하나의 업데이트 (QA, 롤백 등)에 최대한 최대한 활용하면 더 쉬울 수 있습니다. 사용자의 관점에서 볼 때 많은 업데이트에 문제가 있다고 생각하지 않습니다. 그들이 나쁜 업데이트가 아닌 한. 1 년 또는 6 개월 동안 기다렸다가 모든 업데이트를 하나의 큰 릴리스로 굴리면 문제가 있다고 생각합니다. 그것이 제가 작업했던 프로젝트를 죽인 것입니다 (아마도 당신이 들었을 때의 인기있는 피드 리더). 사람들은 우리가 죽었다고 생각했고 인식은 현실이되었습니다. 우리는 버려졌습니다. 그래서 나는 소방서 릴리스 일정을 위해 전부입니다.

2 주마다 충분해야하지만 이것은 시장에 크게 달려 있습니다.

Planbox (웹 기반 Agile Project Management SaaS)에서는 매일 출시됩니다. 우리는 대부분의 응용 프로그램 논리와 모든 프레젠테이션 논리가 프론트 엔드 (JavaScript)에 있기 때문에 그렇게 할 수 있습니다. HTML조차도 템플릿 엔진을 사용하여 JavaScript를 통해 생성됩니다. 그러나 백엔드 (PHP)와 그 REST API는 거의 변하지 않습니다. 이를 통해 호환성을 깨뜨리지 않고 언제든지 새로운 버전의 클라이언트를 푸시 할 수 있습니다.

그러한 아키텍처로 이동할 수 있다면 많은 시간을 절약하고 많은 효율성을 얻을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top