플러그인 설치 및 관리
Mattermost v11.10요약
플러그인은 GitHub, Jira, Zoom과 같은 사전 구축된 통합부터 팀이 직접 구축하는 커스텀 플러그인까지, 새로운 기능과 통합으로 Mattermost를 확장합니다. 이 페이지는 플러그인 생명 주기를 관리하는 방법을 설명합니다.
플러그인은 GitHub, Jira, Zoom과 같은 사전 구축된 통합부터 팀이 직접 구축하는 커스텀 플러그인까지, 새로운 기능과 통합으로 Mattermost를 확장합니다. 시스템 관리자는 System Console 또는 mmctl 명령줄 도구 를 사용하여 플러그인을 설치, 활성화, 구성, 업데이트, 제거할 수 있습니다.
이 페이지는 플러그인 생명 주기를 관리하는 방법을 설명합니다. 사전 구축된 플러그인과 커스텀 플러그인에 대한 개념적 개요는 플러그인 문서를 참조하세요. 전체 플러그인 구성 옵션 목록은 플러그인 구성 설정 문서를 참조하세요. 직접 플러그인을 만들려면 Mattermost 플러그인 개발자 문서를 참조하세요.
플러그인을 설치하고 관리하려면 시스템 관리자여야 합니다. 플러그인은 서버 수준에서 관리되며 전체 Mattermost 배포에 적용됩니다.
시작하기 전에#
플러그인의 사용 가능 여부와 수행할 수 있는 작업은 System Console의 Plugins > Plugin Management에 있는 몇 가지 구성 설정에 따라 달라집니다. 플러그인을 설치하거나 업데이트하기 전에 다음 설정을 검토하세요:
- Enable plugins (
PluginSettings.Enable)는 플러그인 시스템이 작동하려면 true(기본값)로 설정되어 있어야 합니다. 비활성화하면 모든 플러그인이 꺼집니다. - Enable Marketplace (
PluginSettings.EnableMarketplace)는 제품 내 Marketplace에서 플러그인을 설치하려면 true(기본값)로 설정되어 있어야 합니다. - Enable remote Marketplace (
PluginSettings.EnableRemoteMarketplace)는 Marketplace가 원격 엔드포인트에 연결하여 커뮤니티 및 Mattermost 제공 플러그인을 나열하려면 true(기본값)로 설정되어 있어야 합니다. 인터넷에 연결할 수 없는 서버는 이 값을 false로 설정하세요. 그러면 Marketplace에는 사전 패키지된 플러그인과 설치된 플러그인만 표시됩니다. - Upload Plugin (
PluginSettings.EnableUploads)은 로컬 컴퓨터에서 플러그인 번들을 업로드하려면 true로 설정되어 있어야 합니다. 이 설정은 셀프 호스팅 배포에만 적용됩니다.
플러그인을 업로드할 때 Received invalid response from the server 오류가 발생하면, 최대 파일 크기 구성 설정이 플러그인 번들에 비해 너무 작을 가능성이 큽니다. 이 값을 늘리고 필요에 따라 프록시 설정도 업데이트하세요.
각 설정의 config.json 경로와 환경 변수를 포함한 세부 정보는 플러그인 구성 설정 문서를 참조하세요.
플러그인 설치 방법#
제품 내 Marketplace에서 설치하거나, 플러그인 번들을 업로드하거나, mmctl을 사용하여 플러그인을 설치할 수 있습니다. Mattermost Server와 함께 제공되는 사전 패키지된 플러그인은 Automatic prepackaged plugins (PluginSettings.AutomaticPrepackagedPlugins)가 활성화되어 있으면(기본값) 자동으로 설치 및 업그레이드됩니다.
App Marketplace#
Marketplace에서 설치하는 것은 사전 구축된 플러그인에 권장되는 방법입니다. Marketplace는 항상 호환되는 최신 버전을 설치하며, Marketplace에서 다운로드한 플러그인은 서명 검증을 거칩니다.
- Mattermost에서 제품 메뉴 에서 App Marketplace를 선택합니다.
- 원하는 플러그인을 검색하거나 스크롤하여 찾은 다음 Install을 선택합니다.
- 플러그인이 설치되면 Configure를 선택하여 System Console에서 설정을 열거나, Enable을 선택하여 기본 구성으로 바로 켭니다.
- 설치가 성공했는지 확인합니다. 플러그인이 Plugins > Plugin Management의 Installed Plugins 목록에 나타나고, 해당 기능이 Mattermost에서 사용 가능해집니다.
Mattermost Marketplace 웹사이트에서는 커뮤니티가 지원하는 더 다양한 통합을 제공합니다.
플러그인 업로드#
Marketplace에 없는 커스텀 또는 서드파티 플러그인을 설치하거나, 서버가 에어갭 또는 제한된 환경에서 실행되는 경우 플러그인 번들을 업로드하세요. 업로드하려면 Upload Plugin 설정이 활성화되어 있고 Require plugin signature (PluginSettings.RequirePluginSignature) 설정이 비활성화되어 있어야 합니다.
- 일반적으로 플러그인의 GitHub 릴리스 페이지에서 플러그인 번들(
.tar.gz파일)을 다운로드합니다. 많은 플러그인이 지원되는 모든 플랫폼의 바이너리를 포함하는 더 큰 범용 번들과 함께, 각 플랫폼(예:linux-amd64)에 대한 더 작은 개별 번들을 제공합니다. 서버의 운영체제와 아키텍처에 맞는 번들을 다운로드하세요. 다른 플랫폼용으로 빌드된 번들은 시작되지 않습니다. 대신 범용 번들을 사용하면 Mattermost가 서버에 맞는 올바른 바이너리를 자동으로 선택합니다. - 시스템 관리자로 Mattermost System Console에 로그인합니다.
- Plugins > Plugin Management로 이동합니다.
- Upload Plugin 섹션에서 Choose File을 선택하고, 다운로드한 플러그인 번들을 선택한 다음 Upload를 선택합니다.
- 플러그인이 Installed Plugins 목록에 나타납니다. Enable을 선택하여 켭니다.
mmctl#
mmctl 명령줄 도구 는 스크립트 기반 또는 원격 플러그인 관리에 유용합니다. 먼저 서버 구성에서 플러그인이 활성화되어 있어야 합니다.
아래에서 <id>로 표시된 것처럼 여러 명령어가 플러그인 ID를 인수로 받습니다. 플러그인 ID는 플러그인의 plugin.json 매니페스트에 있는 id 값입니다. 흔히 github나 playbooks처럼 플러그인 이름과 같지만, Calls 플러그인의 com.mattermost.calls처럼 역방향 DNS 식별자를 사용하는 플러그인도 있습니다. 설치된 플러그인의 ID를 나열하려면 mmctl plugin list를 실행하세요.
- 플러그인 ID로 Marketplace에서 최신 버전 설치:
mmctl plugin marketplace install <id>
- 로컬 컴퓨터에서 플러그인 번들 설치:
mmctl plugin add myplugin.tar.gz
- URL에서 플러그인 번들 설치:
mmctl plugin install-url https://example.com/myplugin.tar.gz
설치 후 ID로 플러그인을 활성화합니다:
mmctl plugin enable <id>
플러그인 활성화 또는 비활성화#
플러그인을 설치해도 자동으로 켜지지는 않습니다. 사용자가 사용할 수 있도록 하려면 플러그인을 활성화하고, 제거하지 않고 사용자 인터페이스에서 제외하려면 비활성화하세요.
System Console에서 플러그인을 활성화 또는 비활성화하려면:
- Plugins > Plugin Management로 이동합니다.
- Installed Plugins 목록에서 플러그인을 찾습니다.
- Enable 또는 Disable을 선택합니다.
mmctl로 플러그인을 활성화 또는 비활성화하려면:
mmctl plugin enable <id>
mmctl plugin disable <id>
플러그인을 비활성화하면 즉시 사용자 인터페이스에서 제거되고 플러그인 실행이 중지됩니다. 플러그인은 설치된 상태로 남아 있으며 언제든지 다시 활성화할 수 있습니다.
플러그인 구성#
대부분의 플러그인에는 자체 설정 페이지가 있습니다. 플러그인이 설치된 후 System Console에서 Plugins로 이동하여 이름으로 플러그인을 선택해 구성한 다음 Save를 선택하세요. 각 플러그인에서 사용 가능한 설정에 대한 자세한 내용은 해당 플러그인 문서를 참조하세요.
플러그인 업데이트#
새 버전이 릴리스될 때 플러그인을 최신 상태로 유지하는 것을 권장합니다. 업데이트는 일반적으로 매끄럽게 진행되며 사용자 경험을 방해하지 않지만, 호환성 관련 사항은 각 플러그인의 릴리스 노트를 검토하고 프로덕션에 적용하기 전에 스테이징 환경에서 업데이트를 테스트해야 합니다.
다음 방법 중 하나로 플러그인을 업데이트할 수 있습니다:
- 사전 패키지된 플러그인은 Automatic prepackaged plugins 설정이 활성화되어 있으면(기본값) 자동으로 업그레이드됩니다. 이미 최신 버전이 설치되어 있다면 변경되지 않습니다.
- Marketplace 플러그인은 새 버전을 사용할 수 있을 때 App Marketplace에 Update 옵션을 표시합니다. 이를 선택하면 최신 버전이 설치됩니다.
- 업로드된 플러그인은 Plugins > Plugin Management를 통해 동일한 플러그인 ID로 더 새로운 번들을 업로드하여 업데이트합니다. 새 버전이 기존 버전을 덮어씁니다.
- mmctl은 동일한 플러그인 ID를 가진 번들을 추가할 때 설치된 플러그인을 업데이트합니다. 기존 버전을 덮어쓰려면
--force(-f) 플래그를 사용하세요:
mmctl plugin add myplugin.tar.gz --force
mmctl plugin install-url https://example.com/myplugin.tar.gz --force
``--force`` 플래그는 확인 없이 설치된 플러그인을 덮어쓰므로, 프로덕션에 적용하기 전에 새 번들의 호환성을 확인하고(가급적 스테이징 환경에서 테스트하고) 나서 사용하세요.
``mmctl plugin marketplace install <id>``로 최신 Marketplace 버전을 다시 설치할 수도 있습니다.
현재 설치된 버전을 확인하려면 Plugins > Plugin Management로 이동하여 Installed Plugins 목록을 검토하거나 mmctl plugin list를 실행하세요.
플러그인 제거#
플러그인을 제거하면 비활성화되고 서버에서 제거(uninstall)됩니다.
System Console에서 플러그인을 제거하려면:
- Plugins > Plugin Management로 이동합니다.
- Installed Plugins 목록에서 플러그인을 찾습니다.
- Remove를 선택합니다.
mmctl로 플러그인을 제거하려면:
mmctl plugin delete <id>
플러그인을 제거하면 서버에서 제거되고 실행이 중지되지만, Mattermost는 플러그인과 연결된 데이터를 보존합니다:
- 구성: 플러그인의 구성은 삭제되지 않고 유지되며 비활성화 상태로 표시됩니다. 동일한 플러그인을 다시 설치하면 이전 설정이 복원됩니다.
- 키-값 저장소 데이터: 플러그인이 키-값(KV) 저장소에 저장한 데이터는 보존됩니다. 플러그인을 제거해서가 아니라 플러그인 API를 통해 플러그인 자체가 삭제할 때만 지워집니다.
- 봇 계정: 플러그인이 생성한 봇 계정은 서버에 남아 있으며 계속 활성 상태입니다. 이를 제거하려면 System Console > Integrations > Bot Accounts에서 봇 계정을 수동으로 비활성화하세요.
구성과 KV 저장소 데이터가 유지되므로, 제거는 사실상 되돌릴 수 있습니다. 플러그인을 다시 설치하면 이전 구성과 데이터가 복원됩니다.
Mattermost는 System Console이나 mmctl을 통해 제거된 플러그인의 보존된 구성이나 키-값 데이터를 완전히 삭제하는 내장 기능을 제공하지 않습니다. 데이터 보존이나 컴플라이언스 요구 사항을 충족하기 위해 이 데이터를 반드시 삭제해야 한다면, Mattermost 데이터베이스에 직접 변경이 필요하므로 Mattermost 지원팀에 문의하여 안내를 받으세요.
에어갭 및 제한된 환경#
인터넷에 접근할 수 없는 배포의 경우, Enable remote Marketplace를 false로 설정하여 Marketplace에 사전 패키지된 플러그인과 설치된 플러그인만 표시되도록 하고, System Console을 통해 번들을 직접 업로드하여 플러그인을 설치하세요. 자세한 내용은 에어갭 배포 문서를 참조하세요.
관련 문서#
- 플러그인 개요 - 사전 구축된 플러그인과 커스텀 플러그인에 대해 알아보세요.
- 인기 사전 구축 통합 - 사용 가능한 사전 구축 플러그인과 설치 방법을 확인하세요.
- 플러그인 구성 설정 - 모든 플러그인 구성 설정을 검토하세요.
- mmctl 명령줄 도구 - 명령줄에서 플러그인을 관리하세요.