4장. IDE 확장 관리


IDE는 확장 또는 플러그인을 사용하여 기능을 확장하며 확장 기능을 관리하는 메커니즘은 IDE 간에 다릅니다.

4.1. Microsoft Visual Studio Code 확장 - 오픈 소스

확장을 관리하기 위해 이 IDE 는 다음 Open VSX 레지스트리 인스턴스 중 하나를 사용합니다.

  • Air-gapped, 오프라인 및 프록시 제한 환경을 지원하기 위해 OpenShift Dev Spaces의 plugin-registry 포드에서 실행되는 Open VSX 레지스트리의 임베디드 인스턴스입니다. 임베디드 Open VSX 레지스트리에는 open-vsx.org 에 게시된 확장의 하위 집합만 포함되어 있습니다. 이 하위 집합을 사용자 지정할 수 있습니다.
  • 인터넷을 통해 액세스하는 공개 open-vsx.org 레지스트리입니다.
  • OpenShift Dev Spaces 작업 공간 포드에서 액세스할 수 있는 네트워크에 배포된 독립 실행형 Open VSX 레지스트리 인스턴스입니다.

기본값은 Open VSX 레지스트리의 포함된 인스턴스입니다.

4.1.1. Open VSX 레지스트리 인스턴스 선택

기본값은 Open VSX 레지스트리의 포함된 인스턴스입니다.

기본 Open VSX 레지스트리 인스턴스가 필요한 경우 다음 인스턴스 중 하나를 선택할 수 있습니다.

  • https://open-vsx.org 에서 인터넷에 액세스해야 하는 Open VSX 레지스트리 인스턴스입니다.
  • OpenShift Dev Spaces 작업 공간 포드에서 액세스할 수 있는 네트워크에 배포된 독립 실행형 Open VSX 레지스트리 인스턴스입니다.

프로세스

  • CheCluster 사용자 정의 리소스에서 openVSXURL 값을 편집합니다.

    spec:
      components:
        pluginRegistry:
          openVSXURL: "<url_of_an_open_vsx_registry_instance>" 1
    1
    예: openVSXURL: "https://open-vsx.org".
    작은 정보
    • plugin-registry pod에서 포함된 Open VSX 레지스트리 인스턴스를 선택하려면 openVSXURL: '' 를 사용합니다. 포함된 확장 목록을 사용자 지정할 수 있습니다.
    • 또한 독립 실행형 Open VSX 레지스트리 인스턴스의 URL에서 openVSXURL 을 가리킬 수 있으며 프록시에 의해 차단되지 않은 경우 해당 URL을 조직의 클러스터 내에서 액세스할 수 있습니다.

4.1.2. 임베디드 Open VSX 레지스트리 인스턴스에서 확장 기능 추가 또는 제거

포함된 Open VSX 레지스트리 인스턴스에서 확장을 추가하거나 제거할 수 있습니다. 그러면 조직의 작업 공간에 사용할 수 있는 Open VSX 레지스트리의 사용자 지정 빌드가 생성됩니다.

작은 정보

OpenShift Dev Spaces 업데이트 후 최신 보안 수정 사항을 얻으려면 최신 태그 또는 SHA를 기반으로 컨테이너를 다시 빌드합니다.

프로세스

  1. 선택한 각 확장의 게시자 및 확장 이름을 가져옵니다.

    1. Open VSX 레지스트리 웹 사이트에서 확장을 찾고 확장 프로그램 목록 페이지 및 확장 프로그램의 URL을 복사합니다.
    2. 복사한 URL에서 <publisher > 및 <extension> 이름을 추출합니다.

      https://open-vsx.org/extension/<publisher>/<name>
      작은 정보

      확장 기능을 Microsoft Visual Studio Marketplace 에서만 사용할 수 있지만 Open VSX 에서는 사용할 수 없는 경우 확장 게시자에 이러한 지침에 따라 open-vsx.org에도 게시하도록 요청할 수 있습니다.If the extension is only available from Microsoft Visual Studio Marketplace , but not Open VSX , you can also ask the extension publisher to also publish it on open-vsx.org according to these instructions. https://github.com/marketplace/actions/publish-vs-code-extension

      확장 게시자를 사용할 수 없거나 open-vsx.org 에 확장을 게시하지 않으려는 경우 확장 기능에 해당하는 Open VSX가 없는 경우 Open VSX 팀에 문제를 보고하는 것이 좋습니다.

  2. 사용자 정의 플러그인 레지스트리 이미지를 빌드하고 CheCluster 사용자 정의 리소스를 업데이트합니다.

    작은 정보
    • 빌드 프로세스 중에 각 확장은 OpenShift Dev Spaces에서 사용되는 Visual Studio Code 버전과의 호환성을 확인합니다.
    1. OpenShift Dev Spaces 인스턴스 사용:

      1. 관리자로 OpenShift Dev Spaces 인스턴스에 로그인합니다.

Red Hat Registry 서비스 계정을 생성하고 사용자 이름과 토큰을 복사합니다.

  1. 플러그인 레지스트리 리포지토리 를 사용하여 작업 영역을 시작합니다.
  2. 터미널을 열고 OpenShift Dev Spaces 버전(예: devspaces-3.15-rhel-8)에 해당하는 Git 태그를 확인합니다.

    git checkout devspaces-$PRODUCT_VERSION-rhel-8
  3. openvsx-sync.json 파일을 열고 확장을 추가하거나 제거합니다.
  4. 1을 실행합니다. 작업 공간의 registry.redhat.io 작업에 로그인합니다(Terminal Run Task…​ devfile 1. registry.redhat.io에 로그인하고 registry.redhat.io 에 로그인합니다.
  5. 2를 실행합니다. 작업 공간에 사용자 지정 플러그인 레지스트리 작업을 빌드하고 게시합니다(Terminal Run Task…​ devfile 2. 사용자 지정 플러그인 레지스트리 빌드 및 게시).
  6. 3을 실행합니다. 작업 영역에서 사용자 정의 플러그인 레지스트리 작업을 사용하도록 Che를 구성합니다(Terminal Run Task…​ devfile 3). 사용자 지정 플러그인 레지스트리를 사용하도록 Che를 구성합니다.

    1. Linux 운영 체제 사용:

      작은 정보
      • podman 및 NodeJS 버전 18.20.3 이상이 시스템에 설치되어 있어야 합니다.
  7. Dev Spaces 리포지토리를 다운로드하거나 분기하고 복제합니다.
git clone https://github.com/redhat-developer/devspaces.git

+

  1. 플러그인 레지스트리 하위 모듈로 이동합니다.
cd devspaces/dependencies/che-plugin-registry/

+

  1. OpenShift Dev Spaces 버전에 해당하는 태그를 체크아웃합니다(예: devspaces-3.15-rhel-8).

    git checkout devspaces-$PRODUCT_VERSION-rhel-8
  2. Red Hat Registry 서비스 계정을 생성하고 사용자 이름과 토큰을 복사합니다.
  3. registry.redhat.io 에 로그인 :

    podman login registry.redhat.io
  4. 추가 또는 제거해야 하는 각 확장에 대해 openvsx-sync.json 파일을 편집합니다.

    • 확장을 추가하려면 openvsx-sync.json 파일에 게시자, 이름 및 확장 버전을 추가합니다.
    • 확장을 제거하려면 openvsx-sync.json 파일에서 게시자, 이름 및 확장 버전을 제거합니다.
    • 다음 JSON 구문을 사용합니다.

          {
              "id": "<publisher>.<name>",
              "version": "<extension_version>"
          }
      작은 정보
      • 조직에서 내부 용도로만 사용되는 확장 프로그램 또는 closed-source 확장이 있는 경우 사용자 정의 플러그인 레지스트리 컨테이너에 액세스할 수 있는 URL을 사용하여 .vsix 파일에서 직접 확장을 추가할 수 있습니다.

            {
                "id": "<publisher>.<name>",
                "download": "<url_to_download_vsix_file>",
                "version": "<extension_version>"
            }
      • 리소스를 사용하기 전에 Microsoft Visual Studio Marketplace 에 대한 사용 약관 을 읽으십시오.
  5. 플러그인 레지스트리 컨테이너 이미지를 빌드하고 quay.io 와 같은 컨테이너 레지스트리에 게시합니다.

    1. $ ./build.sh -o <username> -r quay.io -t custom
    2. $ podman push quay.io/<username/plugin_registry:custom>
  6. 조직의 클러스터에서 CheCluster 사용자 지정 리소스를 편집하여 (예: quay.io) 이미지를 가리키고 변경 사항을 저장합니다.

    spec:
      components:
        pluginRegistry:
          deployment:
            containers:
              - image: quay.io/<username/plugin_registry:custom>
          openVSXURL: ''

검증

  1. plugin-registry pod가 다시 시작되어 실행 중인지 확인합니다.
  2. 작업 영역을 다시 시작하고 작업 공간 IDE의 확장 보기에서 사용 가능한 확장을 확인합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.