Udostępnij za pośrednictwem


Pakowanie i publikowanie integracji w witrynie Marketplace

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Czy masz narzędzie, usługę lub produkt integrujący się z usługą Azure DevOps lub serwerem Team Foundation Server (TFS)? Jeśli tak, pomóż użytkownikom je znaleźć, publikując je w witrynie Visual Studio Marketplace. Marketplace to jednorazowy sklep dla użytkowników indywidualnych i zespołów, który umożliwia znajdowanie narzędzi, które rozszerzają i ulepszają środowisko pracy.

Przejrzyj witrynę Marketplace , aby zobaczyć przykłady innych integracji i rozszerzeń.

Uwaga

Jeśli szukasz informacji o pakowaniu i publikowaniu rozszerzeń, zapoznaj się z tematem Package & Publish Extensions (Pakiety i publikowanie rozszerzeń).

Wymagania dotyczące publikowania

Przed opublikowaniem w witrynie Marketplace należy spełnić następującą listę wymagań.

  • Zainstaluj narzędzie do tworzenia pakietów rozszerzeń (TFX). Uruchom polecenie npm install -g tfx-cli w wierszu polecenia.
  • Upewnij się, że udzielono odpowiednich uprawnień do używania dowolnych obrazów, na przykład ikon, logo, zrzutów ekranu itd.
  • Dołącz dokładny overview.md plik, aby opisać swoją listę w witrynie Marketplace.
  • Dołącz ikonę rozszerzenia, która ma rozmiar co najmniej 128 x 128 pikseli.
  • W przypadku odwoływania się do produktów firmy Microsoft użyj pełnych nazw zamiast skrótów, na przykład Azure DevOps vs AzDO lub — dowolny inny skrót.
  • Powstrzymaj się od używania nazw marek w nazwie rozszerzenia.

Co jest potrzebne

  1. Logo 128x128 pikseli (format PNG lub JPEG) reprezentujące integrację, samodzielnie lub firmę/organizację
  2. Co najmniej jeden zrzut ekranu przedstawiający integrację
  3. Wywołanie akcji /adres URL rozpoczęcia pracy (gdzie użytkownicy powinni rozpocząć pracę z integracją)

Kroki

Publikowanie w witrynie Marketplace to proces iteracyjny, który rozpoczyna się od utworzenia pliku manifestu definiującego charakterystykę integracji i odnajdywania kluczy (na przykład zrzuty ekranu, logo i zawartość przeglądu). Te informacje służą do prezentowania integracji użytkownikom w witrynie Marketplace, na przykład:

Przykład

Usługa Jenkins dla usługi Azure DevOps

Uwaga: termin , extensionjest używany w dokumentacji, do których się odwołujesz poniżej. Rozszerzenia to inny typ elementu witryny Marketplace i udostępniają wiele podobieństw z punktu widzenia odnajdywania jako integracje.

Potrzebujesz pomocy przy uzyskaniu integracji w witrynie Marketplace? Skontaktuj się z nami. I, tak, ten adres e-mail jest monitorowany przez prawdziwych ludzi.

Utwórz wydawcę

Wszystkie rozszerzenia i integracje, w tym rozszerzenia firmy Microsoft, mają wydawcę. Każdy może utworzyć wydawcę i opublikować w nim rozszerzenia. Możesz również przyznać innym osobom dostęp do wydawcy, jeśli zespół opracowuje rozszerzenie.

Użytkownik jest właścicielem wydawcy, zazwyczaj użytkownika, który go utworzył. Możesz również udostępnić wydawcę innym użytkownikom.

  1. Zaloguj się do portalu publikowania witryny Marketplace programu Visual Studio.

  2. Jeśli nie jesteś jeszcze członkiem istniejącego wydawcy, + Utwórz wydawcę. Wprowadź nazwę w polu nazwa wydawcy. Pole Identyfikator powinno zostać automatycznie ustawione na podstawie wprowadzonej nazwy.

    Zrzut ekranu przedstawiający wyróżniony przycisk Utwórz wydawcę.

    Uwaga

    Zanotuj identyfikator, ponieważ musisz ustawić go w pliku manifestu rozszerzenia.

    Jeśli nie zostanie wyświetlony monit o utworzenie wydawcy, przewiń w dół do dołu strony i wybierz pozycję Publikuj rozszerzenia poniżej powiązanych witryn.

    • Określ identyfikator wydawcy, na przykład: mycompany-myteam. Ten identyfikator jest używany jako wartość atrybutu w pliku manifestu publisher rozszerzenia.
    • Określ nazwę wyświetlaną wydawcy, na przykład: My Team
  3. Przejrzyj umowę wydawcy witryny Marketplace, a następnie wybierz pozycję Utwórz.

    Tworzenie wydawcy dla rozszerzenia

Po utworzeniu wydawcy nastąpi przekierowanie do zarządzania elementami, ale nie ma żadnych elementów.

Tworzenie folderu zawierającego manifest elementu i inne zasoby

Zanim spakujesz integrację jako rozszerzenie, musisz utworzyć home folder zawierający wymagane zasoby w tym folderze:

  1. Utwórz folder o nazwie images , który ma zawierać:
    • Logo integracji (128x128 pikseli)
    • Zrzuty ekranu (1366x768 pikseli)
  2. Tworzenie pliku o nazwie overview.md
    • Tutaj opisz swoją integrację
    • Aby dowiedzieć się więcej na temat języka Markdown, zobacz GitHub Flavored Markdown
  3. Tworzenie pliku o nazwie vss-integration.json
    • Ten plik to plik manifestu listy witryny Marketplace. Zawiera on wiele właściwości opisujących rozszerzenie na liście w witrynie Marketplace. Możesz przeglądać dokumentację manifestu rozszerzenia tutaj

Manifest rozszerzenia

  1. vss-integration.json Wypełnij plik następującym kodem JSON:

    {
        "manifestVersion": 1,
        "id": "myservice",
        "version": "1.0.0",
        "name": "My Service",
        "publisher": "mycompany",
        "description": "Awesome tools to help you and your team do great things everyday.",
        "targets": [
            {
                "id": "Microsoft.VisualStudio.Services.Integration"
            }
        ],    
        "icons": {
            "default": "images/service-logo.png"
        },
        "categories": [
            "Plan and track"
        ],
        "tags": [
            "working",
            "people person",
            "search"
        ],
        "screenshots": [
            {
                "path": "images/screen1.png"
            },
            {
                "path": "images/screen2.png"
            }
        ],
        "content": {
            "details": {
                "path": "overview.md"
            },
            "license": {
                "path": "fabrikam-license-terms.md"
            }
        },
        "links": {
            "getstarted": {
                "uri": "https://www.mycompany.com/help/getstarted"
            },
            "learn": {
                "uri": "https://www.mycompany.com/features"
            },
            "support": {
                "uri": "https://www.mycompany.com/support"
            }
        },
        "branding": {
            "color": "rgb(34, 34, 34)",
            "theme": "dark"
        }
    }
    
  2. Zaktualizuj kod JSON przy użyciu następującego odwołania:

Te właściwości są wymagane:

Właściwości opis Uwagi
manifestVersion Liczba odpowiadająca wersji formatu manifestu. powinna mieć wartość 1.
Identyfikator Identyfikator rozszerzenia. Th ID to ciąg, który musi być unikatowy wśród rozszerzeń od tego samego wydawcy. Musi zaczynać się od znaku alfabetycznego lub liczbowego i zawierać znaki "A" od "Z", "a" do "z", "0" do "9" i "-" (łącznik). Przykład: sample-extension.
version Ciąg określający wersję rozszerzenia. Powinien mieć format major.minor.patch, na przykład 0.1.2 lub 1.0.0. Możesz również dodać czwartą liczbę dla następującego formatu: 0.1.2.3
name Krótka, czytelna dla człowieka nazwa rozszerzenia. Ograniczone do 200 znaków. Przykład: "Fabrikam Agile Board Extension".
Wydawca Identyfikator wydawcy. Ten identyfikator musi być zgodny z identyfikatorem, w ramach których jest publikowane rozszerzenie. Zobacz Tworzenie wydawcy i zarządzanie nim.
Kategorie Tablica ciągów reprezentujących kategorie, do których należy twoje rozszerzenie. Należy podać co najmniej jedną kategorię i nie ma limitu liczby uwzględnień kategorii. Prawidłowe wartości: Azure Repos, , Azure PipelinesAzure Boards, Azure Test Plansi Azure Artifacts.

Uwagi:
    — Użyj wersji >=0.6.3 tfx-cli, jeśli publikujesz rozszerzenie programowo.
    — Jeśli używasz rozszerzenia Azure DevOps Extension Tasks do opublikowania, upewnij się, że jego wersja to >1.2.8. Może być konieczne zatwierdzenie aktualizacji rozszerzenia z powodu ostatnich zmian zakresu.
    — Wymienione wcześniej kategorie są natywnie obecne w witrynach Visual Studio Marketplace i Azure DevOps Server 2019 i nowszych. W przypadku rozszerzeń przeznaczonych dla starszych wersji serwera TFS:
      — Jeśli klienci tfS uzyskują rozszerzenie za pośrednictwem witryny Visual Studio Marketplace (a nie galerii lokalnej) w kontekście połączonym, użyj wcześniej określonych kategorii.
      — Jeśli zamierzasz udostępnić rozszerzenie bezpośrednio (czyli nie za pośrednictwem witryny Visual Studio Marketplace) z klientem korzystającym z serwera TFS <=2018, użyj następujących kategorii: Kod, Planowanie i śledzenie, Kompilowanie i wydawanie, Testowanie, Współpraca i integracja. Jeśli musisz udostępnić zarówno za pośrednictwem witryny Visual Studio Marketplace, jak i bezpośrednio z klientem TFS <= 2018, musisz mieć 2 pakiety rozszerzeń.
Cele Produkty i usługi obsługiwane przez integrację lub rozszerzenie. Aby uzyskać więcej informacji, zobacz cele instalacji. Tablica obiektów, w której każdy obiekt ma id pole wskazujące jedno z następujących elementów:
    - Microsoft.VisualStudio.Services(rozszerzenia współpracujące z usługą Azure DevOps lub TFS),
    Microsoft.TeamFoundation.Server- (rozszerzenie, które współpracuje z programem TFS),-
    Microsoft.VisualStudio.Services.Integration (integracje współpracujące z usługą Azure DevOps lub TFS)
    - Microsoft.TeamFoundation.Server.Integration (integracje współpracujące z programem TFS)

Te opcjonalne właściwości ułatwiają użytkownikom odnajdywanie i poznawanie rozszerzenia:

Właściwości opis Uwagi
opis Kilka zdań opisujących rozszerzenia. Ograniczone do 200 znaków. Opis powinien być "skokiem windy" rozszerzenia — kilka wierszy, aby opisać rozszerzenie w witrynie Marketplace i sprawić, że ludzie chcą go zainstalować. Zobacz poniższy przykład
Ikony Słownik ikon reprezentujący rozszerzenie. Prawidłowe klucze: default (128x128 pikseli) typu BMP, GIF, EXIF, JPG, PNG i TIFF. Inne klucze, takie jak large (512x512 pikseli) mogą być obsługiwane w przyszłości. Wartość każdego klucza to ścieżka do pliku ikony w rozszerzeniu
tagów Tablica tagów ciągów ułatwia użytkownikom znajdowanie rozszerzenia. Przykłady: agile, , task timerproject managementi tak dalej.
Zrzuty ekranu Tablica obrazów, których nie można uwzględnić w zawartości. Zrzuty ekranu są bardziej cenne w przypadku polecania zawartości i powinny być używane w celu ułatwienia utworzenia strony szczegółów rynku jakości dla rozszerzenia. Użyj zrzutów ekranu, aby uzyskać mniej ważne obrazy, które nie są opisywane w zawartości. Każdy obraz powinien mieć rozmiar 1366 x 768 pikseli. Każdy path element jest ścieżką do pliku w rozszerzeniu.
Zawartości Słownik plików zawartości opisujących rozszerzenie dla użytkowników. Każde rozszerzenie powinno zawierać solidną zawartość. W ten sposób pokażesz użytkownikom, co może zrobić rozszerzenie. Umożliwia rozbudowanie, eksploatacyjne i dołączanie zrzutów ekranu w razie potrzeby. overview.md Dołącz plik jako podstawowy element zawartości. Zakłada się, że każdy plik ma format Języka Markdown w usłudze GitHub Flavored. Każdy path element jest ścieżką do pliku Markdown w rozszerzeniu. Prawidłowe klucze: details. Inne klucze mogą być obsługiwane w przyszłości.
Linki Słownik linków, które pomagają użytkownikom dowiedzieć się więcej na temat rozszerzenia, uzyskać pomoc techniczną i przenieść. Prawidłowe klucze: getstarted — pierwsze kroki, sposób konfigurowania lub używania. learn — głębsza zawartość ułatwiając użytkownikom lepsze zrozumienie rozszerzenia lub usługi. license -Licencja. privacypolicy - zasady ochrony prywatności dla rozszerzenia. support — uzyskaj pomoc i pomoc techniczną dla rozszerzenia. Wartość każdego klucza jest obiektem z polem uri , które jest bezwzględnym adresem URL łącza
Repozytorium Słownik właściwości opisujących repozytorium kodu źródłowego dla rozszerzenia Prawidłowe klucze: type — typ repozytorium. Przykład: git. uri - Bezwzględny adres URL repozytorium.
Odznaki Tablica linków do zewnętrznych znaczków metadanych, takich jak TravisCI, Appveyor itd., z zatwierdzonych witryn znaczków Prawidłowe klucze: href — połącz użytkownika po wybraniu wskaźnika. uri - Bezwzględny adres URL obrazu znaczka do wyświetlenia. description - Opis znaczka, który ma być wyświetlany po umieszczeniu kursora.
Marki Słownik właściwości związanych z marką. Prawidłowe klucze: color — podstawowy kolor rozszerzenia lub wydawcy; może to być szesnastkowy (#ff00ff), RGB (rgb(100,200,50)) lub obsługiwane nazwy kolorów HTML (niebieski). theme - uzupełnia kolor; używaj ciemnych kolorów znakowania lub jasnego dla jaśniejszych kolorów znakowania.

Strona szczegółów

  • 1 — opis
  • 2 — ikona
  • 3 — kategorie
  • 4 — zrzuty ekranu
  • 5 — zawartość (szczegóły)
  • 6 — łącza
  • 7 — znakowanie

Karty

Upewnij się, że atrybut "public" ma ustawioną wartość "false" (lub nie ustawiono w ogóle), aby uniknąć przedwczesnego uwidocznienia rozszerzenia lub integracji dla wszystkich użytkowników w witrynie Marketplace.

Pakowanie manifestu i zasobów

Pobieranie narzędzia pakietu (tfx-cli)

Możesz zainstalować lub zaktualizować międzyplatformowy interfejs wiersza polecenia dla usługi Azure DevOps (tfx-cli) przy użyciu npmskładnika Node.js z poziomu wiersza polecenia.

npm i -g tfx-cli

Pakowanie integracji w pliku vsix

tfx extension create --manifest-globs vss-extension.json

Uwaga

W każdej aktualizacji należy zwiększać wersję rozszerzenia/integracji.
Jeśli nie zwiększono rozszerzenia/integracji w manifeście, należy przekazać --rev-version przełącznik wiersza polecenia. Zwiększa to numer wersji poprawki rozszerzenia i zapisuje nową wersję w manifeście.

Publikowanie integracji w witrynie Marketplace

Po spakowanym rozszerzeniu możesz przekazać je do witryny Marketplace w ramach wydawcy. Identyfikator publisher określony w pliku manifestu rozszerzenia musi być zgodny z identyfikatorem wydawcy, w ramach których jest przekazywane rozszerzenie.

  1. W portalu zarządzania wybierz wydawcę z menu rozwijanego w górnej części strony.

  2. Wybierz pozycję Nowe rozszerzenie>Azure DevOps.

    Zrzut ekranu przedstawiający menu rozwijane Nowe rozszerzenie i wyróżniony wybór usługi Azure DevOps.

  3. Przeciągnij i upuść plik lub wybierz go, aby znaleźć plik VSIX utworzony w poprzednim kroku pakowania, a następnie wybierz pozycję Przekaż.

    Zrzut ekranu przedstawiający przekazywanie nowego rozszerzenia dla usługi Azure DevOps.

    Po szybkiej weryfikacji rozszerzenie zostanie wyświetlone na liście opublikowanych rozszerzeń. Nie martw się, rozszerzenie jest widoczne tylko dla Ciebie.

    Zrzut ekranu przedstawiający rozszerzenie na liście opublikowanych rozszerzeń.

W tym momencie rozszerzenie nie jest widoczne dla żadnych kont i nie można go zainstalować, dopóki go nie udostępnisz.

Uwaga

Firma Microsoft przeprowadza skanowanie antywirusowe na każdym nowym i zaktualizowanym pakiecie rozszerzeń opublikowanym. Dopóki skanowanie nie będzie jasne, nie opublikujemy rozszerzenia w witrynie Marketplace do użytku publicznego. W ten sposób unikamy również uwyłania nieodpowiedniej lub obraźliwej zawartości na stronach witryny Marketplace.

Udostępnianie integracji

Aby można było zainstalować integrację z organizacją w usłudze Azure DevOps lub TFS, musisz udostępnić ją tej organizacji. Udostępnianie jest wymaganiem podczas opracowywania i testowania integracji, ponieważ jest to jedyny sposób uruchamiania integracji.

Aby udostępnić integrację, wykonaj następujące zadania:

  1. Wybierz integrację z listy wyświetlanych elementów
  2. Wybierz przycisk Udostępnij
  3. Określ nazwę organizacji, aby ta integracja została widoczna.
    • Aby na przykład uwidocznić integrację w organizacji dev.azure.com/fabrikam-fiber-inc , określ wartość fabrikam-fiber-inc.

Aktualizowanie elementu

Aby zmienić już opublikowane rozszerzenie, zaktualizuj je.

Napiwek

Zalecamy zaktualizowanie rozszerzenia przez usunięcie i ponowne przekazanie. Zalecamy również posiadanie dwóch rozszerzeń, na przykład publisher.extension i publisher.extension-dev. Publisher.extension jest publiczna w witrynie Marketplace, w której klienci mogą ją zainstalować w swoich organizacjach usługi Azure DevOps. Publisher.extension-dev jest przechowywany prywatnie w witrynie Marketplace i może być udostępniany organizacji, której jesteś właścicielem i kontrolujesz. Nie trzeba utrzymywać dwóch kopii kodu źródłowego rozszerzenia. Można obsługiwać dwa pliki manifestu — jeden dla każdego rozszerzenia, a podczas tworzenia pakietu rozszerzenia można podać odpowiedni plik manifestu do narzędzia tfx-cli. Aby uzyskać więcej informacji na temat argumentów wymaganych dla narzędzia, zobacz polecenia rozszerzenia TFX.

  1. Wybierz rozszerzenie z listy wyświetlanych elementów.
  2. Kliknij prawym przyciskiem myszy i wybierz polecenie Aktualizuj dla publisher.extension-develementu , na przykład.
  3. Zweryfikuj rozszerzenie.
  4. Wprowadź te same aktualizacje wersji produkcyjnej, publisher.extensionna przykład .
  5. Przejdź do pliku .vsix dla rozszerzenia i przekaż go.

Zaktualizowana wersja rozszerzenia jest automatycznie instalowana na kontach, na których jest już zainstalowana. Nowe konta, na których zainstalowano rozszerzenie w przyszłości, również otrzymają najnowszą wersję.

Upublicznij integrację (widoczną dla wszystkich)

Aby uzyskać informacje na temat upublicznienia integracji, odwiedź stronę Udostępnij swoją listę jako publiczną.