왜 로컬에 플러그인을 설치할 수 없나요?

최신 버전의 Discourse를 사용 중이며, /var/discourse/plugins 디렉토리에 유효한 플러그인을 설치하려고 시도해 보았습니다. 플러그인 폴더를 해당 위치에 복사해도 플러그인이 설치되지 않습니다. 당연히 ./launcher rebuild app 명령을 항상 실행하고 있습니다. 플러그인을 설치할 수 있는 유일한 방법은 app.yml을 사용하는 것입니다.

테스트 목적으로 오프라인에서 설치하고 싶습니다. 테스트용 플러그인을 설치하기 위해 GitHub 저장소를 열어야 하는 것은 비효율적이라고 생각합니다.

프로덕션 사이트 대신 개발 환경을 설정하는 것은 어떨까요? 저장소를 plugins 디렉토리에 직접 클론할 수 있습니다. 또한, 프로덕션 사이트의 데이터에 영향을 주지 않으며, 재빌드 시 사용자들에게 다운타임을 발생시키지 않습니다. 개발 환경을 설정하는 방법에 대한 모든 주제는 Discourse Meta - dev-install guides에서 확인하세요.

프로덕션 환경에서 로컬 플러그인 설치가 차단되나요? 모든 것을 처음부터 다시 하지 않고 프로덕션 환경을 개발 환경으로 전환할 수 있나요?

PRD의 백업을 받아서 로컬에서 복원해 볼 수도 있겠네요.

자, 이제 알아야 할 유일한 것은 프로덕션 환경에서 로컬 플러그인 설치가 차단되어 있는지의 여부입니다. 누군가 이걸 알고 있기를 바랍니다.

"차단"되는 것이 아니라, 단순히 작동하지 않는 것입니다.

네이트가 말했듯이, 가장 좋은 방법은 로컬 개발 환경을 설정하는 것이거나, 원하신다면 app.yml을 계속 사용하는 것입니다.

그리고 프로덕션 환경에서 플러그인을 설치할 때 소스 코드를 공개하는 것이 표준 관행인 이유는 무엇인가요? 그렇다면 Discourse는 비공개 플러그인을 지원하지 않는다는 뜻인가요? 토큰이 포함된 저장소도 호스팅되는 플랫폼(GitHub, GitLab 등)에서는 여전히 공개된 플러그인으로 취급됩니다.

비공개 GitHub/GitLab 저장소는 여전히 비공개입니다. 토큰은 서버가 저장소를 클론할 수 있게 해주는 비밀번호일 뿐입니다. 다른 누구도 코드를 볼 수 없으며, 비공개 상태로 유지됩니다.

비공개 저장소에 관한 내용은 Install plugins on a self-hosted site 의 해당 섹션을 참고하세요.

로컬에서 개발용 설정을 사용해 플러그인을 테스트하세요. dev-install

그렇지 않으면 플러그인을 변경할 때마다 전체 프로덕션 리빌드를 실행해야 하며, 이는 시간 낭비입니다. 특히 팀이 최근 개발 빌드 시간을 몇 초로 단축시켰기 때문입니다.

플러그인을 ~/code 또는 해당 위치에 클론한 후, 플러그인 디렉터리에서 심볼릭 링크를 생성할 수 있습니다.