플러그인 테스트 및 기타 커스터마이징(테마, 스타일)을 위해 "localhost"에 Discourse 개발 인스턴스를 별도로 구축해야 하나요? 아니면 “Production” 환경에서 직접 변경 사항을 시도/테스트할 수 있나요? (Production에서 직접 작업하는 것은 선호하지 않습니다.)
커스터마이징(스타일 및 플러그인 적용)을 기록하는 방법이 있나요? 예를 들어, 개발 환경에서 스크립트를 실행한 후 문제가 없으면 Production 환경(Discourse 호스팅 또는 셀프호스팅)에 적용하는 방식입니다. 여기서 "지속적 배포(Continuous Delivery)"를 의미합니다.
제 커스텀 변경 사항이 성공적이지 않을 경우 이를 되돌리는 방법은 무엇인가요? 플러그인 테스트의 경우 단순히 플러그인을 “끄는” 것으로 충분할 것 같습니다.
CDCK 또는 Communiteq(구 DiscourseHosting)에서 호스팅을 이용하신다면, AFAIK(제가 아는 한) 100% 관리형 서비스입니다. SSH 접근 권한 등은 제공되지 않습니다. 엔터프라이즈 플랜이 아니라면 플러그인 옵션이 고정되어 있으며, 각 팀에서 호환성을 테스트하여 제공합니다.
해당 호스팅 옵션에서는 제한 없이 테마와 테마 컴포넌트를 설치할 수 있습니다. 물론 테스트 인스턴스를 사용하는 것이 항상 권장됩니다.
CDCK 호스팅에서 CD(지속적 전달) 옵션이 있는지 제가 알기론 없습니다. 틀렸다면 팀 중 누군가가 정정해 주실 수 있을 것입니다. 최악의 경우, 다른 곳에서 테스트한 것과 동일한 방식으로 라이브 사이트에 직접 변경 사항을 적용하게 됩니다.
기본 호스팅 옵션에서는 추가 플러그인을 설치할 수 없으며, 가장 일반적이고 잘 지원되는 플러그인 몇 가지가 기본적으로 포함되어 있습니다. 이를 위해 엔터프라이즈 티어를 사용하거나 셀프 호스팅을 해야 합니다. 플러그인은 app.yml 파일에 통합되고 사이트가 다시 빌드되어야 적용되며, 비활성화하려면 해당 줄을 주석 처리하고 다시 빌드를 실행해야 합니다. 반면 테마와 테마 컴포넌트는 사용자의 사이트 접근성이나 가동 시간에 영향을 주지 않고 자유롭게 추가 및 제거할 수 있습니다.
여기서 확인을 위해 한마디 덧붙이겠습니다. Stephen님이 게시하신 내용은 모두 정확합니다.
호스팅 사이트에서는 Discourse API에 대한 완전한 접근 권한이 있지만, 서버에 대한 SSH 접근 권한은 없습니다. 표준(Standard) 또는 비즈니스(Business) 사이트에는 사용자 지정 플러그인을 설치할 수 없지만, 팀의 검토를 거친 후 개발한 플러그인은 엔터프라이즈(Enterprise) 사이트에 설치할 수 있습니다. 각 플랜에 미리 설치된 플러그인을 확인하려면 https://www.discourse.org/plugins를 참고하세요.
질문에 대한 또 다른 답변은, 만약 그 일들을 (반드시) 수행해야 한다면 자체 호스팅(self-hosting)이 필요하다는 것입니다.
하지만 플러그인이 전혀 필요 없을 가능성이 큽니다. 대부분의 커스터마이징은 테마 컴포넌트로 처리할 수 있습니다.
모든 관리자 변경 사항은 UX에 기록되므로, 누가 언제 무엇을 변경했는지 확인할 수 있습니다.
만약 커스텀 플러그인 개발을 원하신다면, 저는 Discourse와 플러그인을 특정 커밋에 고정하고 GitHub에 인벤토리를 푸시하여 스테이징 및 프로덕션 사이트를 변경할 수 있는 CI/CD 시스템을 개발한 경험이 있습니다. 안타깝게도, 클라이언트는 제가 시스템을 설정한 직후 프로젝트를 중단했습니다.