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
- Logo 128x128 pikseli (format PNG lub JPEG) reprezentujące integrację, samodzielnie lub firmę/organizację
- Co najmniej jeden zrzut ekranu przedstawiający integrację
- 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:
Usługa Jenkins dla usługi Azure DevOps
Uwaga: termin , extension
jest 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.
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.
Zaloguj się do portalu publikowania witryny Marketplace programu Visual Studio.
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.
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 manifestupublisher
rozszerzenia. - Określ nazwę wyświetlaną wydawcy, na przykład:
My Team
- Określ identyfikator wydawcy, na przykład:
Przejrzyj umowę wydawcy witryny Marketplace, a następnie wybierz pozycję Utwórz.
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:
- Utwórz folder o nazwie
images
, który ma zawierać:- Logo integracji (128x128 pikseli)
- Zrzuty ekranu (1366x768 pikseli)
- Tworzenie pliku o nazwie
overview.md
- Tutaj opisz swoją integrację
- Aby dowiedzieć się więcej na temat języka Markdown, zobacz GitHub Flavored Markdown
- 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
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" } }
Zaktualizuj kod JSON przy użyciu następującego odwołania:
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 Pipelines Azure Boards , Azure Test Plans i Azure Artifacts .Uwagi:
— 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 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 timer project management i 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
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 npm
skł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.
W portalu zarządzania wybierz wydawcę z menu rozwijanego w górnej części strony.
Wybierz pozycję Nowe rozszerzenie>Azure DevOps.
Przeciągnij i upuść plik lub wybierz go, aby znaleźć plik VSIX utworzony w poprzednim kroku pakowania, a następnie wybierz pozycję Przekaż.
Po szybkiej weryfikacji rozszerzenie zostanie wyświetlone na liście opublikowanych rozszerzeń. Nie martw się, rozszerzenie jest widoczne tylko dla Ciebie.
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:
- Wybierz integrację z listy wyświetlanych elementów
- Wybierz przycisk Udostępnij
- 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
.
- Aby na przykład uwidocznić integrację w organizacji dev.azure.com/fabrikam-fiber-inc , określ wartość
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.
- Wybierz rozszerzenie z listy wyświetlanych elementów.
- Kliknij prawym przyciskiem myszy i wybierz polecenie Aktualizuj dla
publisher.extension-dev
elementu , na przykład. - Zweryfikuj rozszerzenie.
- Wprowadź te same aktualizacje wersji produkcyjnej,
publisher.extension
na przykład . - 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ą.