it-swarm-ko.tech

V2를 실행하기위한 효과적인 전략이 있습니까? WP 대지?

저의 팀과 나는 공정한 비트의 콘텐츠와 자신이 만든 커스텀 테마를 가진 기존의 WordPress 사이트를 가지고있는 클라이언트와 함께 작업하고 있습니다. 그룹 블로그입니다. 즉, 전 세계에 여러 블로거가있어 컨텐츠를 항상 추가하고 편집하고 있습니다.

우리의 임무는 완전히 새로운 테마를 만드는 것입니다. 이러한 기능 중 일부에는 새로운 사용자 정의 위젯, 플러그인 및 데이터베이스 필드가 필요합니다.

우리는 현재 자체 개발 기계를 개발하여 단일 개발 서버에 통합하고 있습니다. 모든 코드는 SVN에서 버전 관리됩니다. 우리가 임명 한 DBA는 수동으로 데이터베이스 변경 사항을 개발자 DB에 수동으로 병합합니다. 그러나 곧 그 작업을 자동화 할 수 있기를 바랍니다.

우리는 프로덕션 릴리스 프로세스에 대해 이야기하기 시작했습니다. 의미 : 일단 작업이 완료되면 우리의 모든 사용자 정의 코드를 프로덕션 (라이브) 서버로 원활하게 원활하게 전달하면서 가능한 한 혼란을 없애려면 어떻게해야할까요?

우리는 몇 가지 계획을 염두에두고 있지만 다른 사람들이 어떻게이 문제를 다루고 있는지 듣고 싶습니다. 따라야 할 모범 사례가 있거나 피할 수있는 함정이 있습니까?

12
Mike Lee

SethMerrick의 조언을 따르는 경우 적절한 DNS 레코드의 TTL을 5 분 정도 (현재 TTL이 무엇인지에 따라) 낮추면 전환 시간을 크게 줄일 수 있습니다. IP 주소를 변경하기 전에.

이렇게하면 원격 DNS 서버에 주소를 5 분 동안 만 캐시하도록 지시하게됩니다. IP를 변경하면 TTL을 이전의 값으로 늘릴 수 있습니다. 효과를 더 최소화하려면 트래픽이 적은 시간에 스위치 오버를 수행하십시오.

4
Aaron Terry

이 방법이 적합한 지 확신 할 수 없지만 많은 트래픽이 발생하는 사이트를 동시에 마이그레이션 및 업그레이드하는 유사한 프로세스를 수행했습니다.

기본 전략은 스테이징 서버에서 작업 한 다음 모든 것이 준비되면 라이브 서버에서 mysql 덤프를 수행하고 스테이징 서버로 가져 와서 필요한 정리 작업을 수행 한 다음 DNS 레코드를 스테이징 서버로 지정하여 스테이징 서버가 새 라이브 서버가됩니다.

까다로운 문제는 DNS 전파 중에 누적되는 모든 데이터를 스테이징 서버 (현재 라이브 서버)에 병합하는 것입니다. 즉, mysql 덤프/업데이트 DNS를 수행 할 때와 DNS 전파가 완료 될 때 사이를 30 시간이 경과하면 이전 사이트의 레코드를 30 시간 동안 새 레코드로 선택적으로 병합해야합니다.

그것은 매끄러운 과정이 아니지만 우리가 일주일 동안 길을 잃을 무렵에 모든 꼬임이 스스로 매끄러 워졌습니다.

2
SethMerrick

@Mike Lee : WordPress (또는 Drupal, Joomla 등의 주제에 대해 잘 알고있는 주류 오픈 소스 CMSes 중 하나)의 거룩한 질문 중 하나 인 훌륭한 질문입니다.

그것은 확실히 귀하의 유스 케이스를 해결하기위한 것은 아니지만 관련 질문에 대한 나의 대답 은 제가 방금 통해 사용할 수있는 베타 레벨 플러그인을 설명합니다 WordPress Answers Exchange라는 WP Mighost Webhosts (네, 창조적 인 명명에 관해서는 빨아들입니다.)

그러나 플러그인으로 설명하는 유스 케이스를 해결하기를 원하며 현재이를 어떻게 수행 할 것인지 생각 중입니다. 나는 그것에 접근하는 길은 일반적으로 해결하는 것에 포기하고 대신 WordPress에 존재하는 알려진 패턴을 지적한 다음 다른 누구에게도 " hook "플러그인을 허용하도록 생각하고있다. 특별한 유스 케이스. 또한 WordPress의 데이터와 구조를 PHP 파일의 데이터로 직렬화하여 향후 플러그인이 소스 코드 제어 시스템에서 델타를 적용한 것처럼 델타로 적용 할 수 있다고 생각합니다. 현재 버전의 소스 코드.

그래서 전 대답하거나 문제를 풀지 않고있는 동안 나는 당신에게 좋은 음식을 주었고 또한 당신이나 다른 누군가가 궁극적 인 해결책에 대해 협업하기를 바랄 수도 있기를 바랍니다.

2
MikeSchinkel