UniversalPackages@0 — zadanie uniwersalne pakiety w wersji 0
To zadanie służy do pobierania lub tworzenia pakietów uniwersalnych i publikowania ich.
Składnia
# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
inputs:
command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
#publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
# Feed & package details
feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
#externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection.
#vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed.
#vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name.
#vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version.
#feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed (or Project/Feed if the feed was created in a project).
#packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name.
#versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version.
# Feed & package details
#feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
#publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection.
#vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed.
#vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name.
#feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed (or Project/Feed if the feed was created in a project).
#packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name.
#versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
#versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version.
#packagePublishDescription: # string. Optional. Use when command = publish. Description.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
#verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
# Output
#publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
Dane wejściowe
command
-
polecenia
string
. To jest wymagane. Dozwolone wartości: download
, publish
. Wartość domyślna: download
.
Określa polecenie pakietu uniwersalnego do uruchomienia.
katalogu docelowego
string
. Wymagane, gdy command = download
. Wartość domyślna: $(System.DefaultWorkingDirectory)
.
Określa ścieżkę folderu, w której zadanie pobiera zawartość pakietu.
lokalizacji kanału informacyjnego feedsToUse
-
Alias wejściowy: internalOrExternalDownload
.
string
. Wymagane, gdy command = download
. Dozwolone wartości: internal
(ta organizacja/kolekcja), external
(inna organizacja/kolekcja). Wartość domyślna: internal
.
Określa źródło danych z tej kolekcji lub innej kolekcji w usłudze Azure Artifacts.
externalFeedCredentials
-
połączenia organizacji/kolekcji
Alias wejściowy: externalEndpoint
.
string
. Opcjonalny. Użyj polecenia , gdy internalOrExternalDownload = external && command = download
.
Określa poświadczenia do użycia dla rejestrów zewnętrznych znajdujących się w wybranej NuGet.config
. W przypadku kanałów informacyjnych w tej organizacji lub kolekcji pozostaw to pole puste; poświadczenia kompilacji są używane automatycznie.
kanału informacyjnego vstsFeed
-
Alias wejściowy: feedListDownload
.
string
. Wymagane, gdy internalOrExternalDownload = internal && command = download
.
Zawiera wybrane źródło danych. Musisz mieć zainstalowaną i licencjonowaną usługę Azure Artifacts, aby wybrać tutaj źródło danych. Określa FeedName dla źródła danych o zakresie organizacji i nazwa_projektu/nazwa_źródła danych lub ProjectID/FeedID dla źródła danych o zakresie projektu.
vstsFeedPackage
-
nazwa pakietu
Alias wejściowy: packageListDownload
.
string
. Wymagane, gdy internalOrExternalDownload = internal && command = download
.
Określa nazwę pakietu do pobrania zadania.
vstsPackageVersion
-
wersja
Alias wejściowy: versionListDownload
.
string
. Wymagane, gdy internalOrExternalDownload = internal && command = download
.
Określa wersję pakietu lub używa zmiennej zawierającej wersję do pobrania. Ten wpis może być również wyrażeniem wieloznacznymi, takim jak *
, aby uzyskać najwyższą wersję. Przykłady: 1.*
pobiera najwyższą wersję z wersją główną 1, a 1.2.*
otrzymuje najwyższą wersję poprawki z wersją główną 1 i wersją pomocniczą 2.
feedDownloadExternal
-
kanał informacyjny (lub project/feed, jeśli źródło danych zostało utworzone w projekcie)
string
. Wymagane, gdy internalOrExternalDownload = external && command = download
.
Określa źródło danych w innej organizacji/kolekcji.
W przypadku źródeł danych o zakresie projektu wartość powinna być Project/Feed
, gdzie Project
jest nazwą lub identyfikatorem projektu, a Feed
jest nazwą/identyfikatorem źródła danych. W przypadku źródeł danych o zakresie organizacji wartość powinna być tylko nazwą źródła danych.
packageDownloadExternal
-
nazwa pakietu
string
. Wymagane, gdy internalOrExternalDownload = external && command = download
.
Określa nazwę pakietu do pobrania.
versionDownloadExternal
-
wersja
string
. Wymagane, gdy internalOrExternalDownload = external && command = download
.
Określa wersję pakietu lub używa zmiennej zawierającej wersję do pobrania. Ten wpis może być również wyrażeniem wieloznacznymi, takim jak *
, aby uzyskać najwyższą wersję. Przykłady: 1.*
pobiera najwyższą wersję z wersją główną 1, a 1.2.*
otrzymuje najwyższą wersję poprawki z wersją główną 1 i wersją pomocniczą 2. Wzorce wieloznaczne nie są obsługiwane w przypadku pakietów w wersji wstępnej.
publishDirectory
-
ścieżka do plików do publikowania
string
. Wymagane, gdy command = publish
. Wartość domyślna: $(Build.ArtifactStagingDirectory)
.
Określa ścieżkę do listy plików do opublikowania.
lokalizacji kanału informacyjnego feedsToUsePublish
-
Alias wejściowy: internalOrExternalPublish
.
string
. Wymagane, gdy command = publish
. Dozwolone wartości: internal
(ta organizacja/kolekcja), external
(inna organizacja/kolekcja). Wartość domyślna: internal
.
Określa źródło danych z tej kolekcji lub innej kolekcji w usłudze Azure Artifacts.
publishFeedCredentials
-
połączenia organizacji/kolekcji
Alias wejściowy: externalEndpoints
.
string
. Wymagane, gdy internalOrExternalPublish = external && command = publish
.
Określa poświadczenia do użycia dla zewnętrznych źródeł danych.
źródła danych docelowych vstsFeedPublish
-
Alias wejściowy: feedListPublish
.
string
. Wymagane, gdy internalOrExternalPublish = internal && command = publish
.
Określa projekt i nazwę/identyfikator GUID kanału informacyjnego do opublikowania.
publishPackageMetadata
-
publikowanie metadanych potoku
boolean
. Opcjonalny. Użyj polecenia , gdy command = publish && internalOrExternalPublish = internal
. Wartość domyślna: true
.
Kojarzy metadane tego potoku kompilacji/wydania (takie jak uruchamianie # i informacje o kodzie źródłowym) z pakietem.
vstsFeedPackagePublish
-
nazwa pakietu
Alias wejściowy: packageListPublish
.
string
. Wymagane, gdy internalOrExternalPublish = internal && command = publish
.
Określa identyfikator pakietu do opublikowania lub utworzenia nowego identyfikatora pakietu, jeśli nigdy wcześniej nie opublikowano wersji tego pakietu. Nazwy pakietów muszą mieć małe litery i mogą używać tylko liter, cyfr i kresek (-
).
feedPublishExternal
-
kanał informacyjny (lub project/feed, jeśli źródło danych zostało utworzone w projekcie)
string
. Wymagane, gdy internalOrExternalPublish = external && command = publish
.
Określa nazwę zewnętrznego źródła danych do opublikowania.
Jeśli źródło danych zostało utworzone w projekcie, wartość powinna być Project/Feed
, gdzie Project
jest nazwą lub identyfikatorem projektu, a Feed
jest nazwą źródła danych. Jeśli kanał informacyjny nie został utworzony w projekcie, wartość powinna być tylko nazwą źródła danych.
packagePublishExternal
-
nazwa pakietu
string
. Wymagane, gdy internalOrExternalPublish = external && command = publish
.
Określa nazwę pakietu podczas publikowania w zewnętrznym kanale informacyjnym.
versionOption
-
wersja
Alias wejściowy: versionPublishSelector
.
string
. Wymagane, gdy command = publish
. Dozwolone wartości: major
(następna główna), minor
(następna wersja pomocnicza), patch
(następna poprawka), custom
. Wartość domyślna: patch
.
Określa strategię przyrostu wersji. Wartość custom
, aby ręcznie wprowadzić wersję pakietu. W przypadku nowych pakietów pierwsza wersja będzie mieć wartość 1.0.0, jeśli określisz major
, 0.1.0, jeśli określisz minor
lub 0.0.1, jeśli określisz patch
. Aby uzyskać więcej informacji, zobacz specyfikację semantycznej wersji.
versionPublish
-
wersja niestandardowa
string
. Wymagane, gdy versionPublishSelector = custom && command = publish
.
Określa niestandardowy schemat wersji pakietu.
opis packagePublishDescription
-
string
. Opcjonalny. Użyj polecenia , gdy command = publish
.
Określa opis zawartości pakietu i/lub zmiany wprowadzone w tej wersji pakietu.
verbosity
-
szczegółowość
string
. Dozwolone wartości: None
, Trace
, Debug
, Information
, Warning
, Error
, Critical
. Wartość domyślna: None
.
Określa ilość szczegółów wyświetlanych w danych wyjściowych.
zmiennej wyjściowej pakietu publishedPackageVar
-
string
. Opcjonalny. Użyj polecenia , gdy command = publish
.
Określa nazwę zmiennej, która będzie zawierać opublikowaną nazwę pakietu i wersję.
Opcje sterowania zadaniami
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.
Zmienne wyjściowe
Żaden.
Uwagi
To zadanie służy do pobierania lub tworzenia pakietów uniwersalnych i publikowania ich.
Mój potok musi uzyskać dostęp do kanału informacyjnego w innym projekcie
Jeśli potok jest uruchomiony w innym projekcie niż projekt hostowania kanału informacyjnego, należy skonfigurować drugi projekt, aby udzielić dostępu do odczytu/zapisu w usłudze kompilacji. Aby uzyskać więcej informacji, zobacz Uprawnienia pakietu w usłudze Azure Pipelines.
Przykłady
Najprostszym sposobem rozpoczęcia pracy z zadaniem pakietu uniwersalnego jest użycie edytora zadań Pipelines do wygenerowania kodu YAML. Następnie możesz skopiować wygenerowany kod do pliku azure-pipelines.yml
projektu. W tym przykładzie pokazano, jak szybko wygenerować kod YAML przy użyciu potoku, który tworzy progresywną aplikację internetową GatsbyJS (PWA).
Pakiety uniwersalne to przydatny sposób hermetyzacji i wersji aplikacji internetowej. Pakowanie aplikacji internetowej do pakietu uniwersalnego umożliwia szybkie wycofywanie do określonej wersji witryny i eliminuje konieczność kompilowania witryny w potoku wdrażania.
W tym przykładowym potoku pokazano, jak pobrać narzędzie z kanału informacyjnego w projekcie. Zadanie Pakietu uniwersalnego służy do pobierania narzędzia, uruchamiania kompilacji i ponownego użycia zadania Pakiet uniwersalny do publikowania całego skompilowanego programu GatsbyJS PWA do źródła danych jako wersji pakietu uniwersalnego.
Pobieranie pakietu za pomocą zadania Pakiet uniwersalny
Drugie zadanie w przykładowym projekcie używa zadania Pakiet uniwersalny do pobrania narzędzia imagemagick z kanału informacyjnego znajdującego się w innym projekcie w tej samej organizacji. Narzędzie imagemagick jest wymagane przez kolejny krok kompilacji w celu zmiany rozmiaru obrazów.
Dodaj zadanie Pakiet uniwersalny, klikając ikonę znaku plus, wpisując "universal" w polu wyszukiwania, a następnie klikając przycisk Dodaj, aby dodać zadanie do potoku.
Kliknij nowo dodane zadanie pakietu uniwersalnego i polecenia, aby
Download
.Wybierz katalog docelowy do pobrania narzędzia.
Wybierz źródłową źródłową zawierającą narzędzie, ustaw nazwę pakietui wybierz pozycję Wersja narzędzia imagemagick ze źródłowego kanału informacyjnego.
Po ukończeniu tych pól kliknij pozycję Wyświetl YAML, aby wyświetlić wygenerowany kod YAML.
Konstruktor zadań Universal Package generuje uproszczony kod YAML zawierający wartości inne niż domyślne. Skopiuj wygenerowany kod YAML do pliku
azure-pipelines.yml
w katalogu głównym repozytorium git projektu.# Download Universal Package steps: - task: UniversalPackages@0 displayName: 'Universal download' inputs: downloadDirectory: Application vstsFeed: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000001' vstsFeedPackage: imagemagick vstsPackageVersion: 1.0.0
Publikowanie pakietu za pomocą zadania Pakiet uniwersalny
Ostatni krok w tym przykładowym potoku używa zadania Pakiet uniwersalny do przekazania gotowej do produkcji aplikacji Gatsby PWA, która została utworzona przez krok Run gatsby build
do kanału informacyjnego jako wersja pakietu uniwersalnego. Po przejściu do kanału informacyjnego masz stałą kopię kompletnej witryny, którą można wdrożyć u dostawcy hostingu i rozpocząć od gatsby serve
.
Dodaj kolejne zadanie pakietu uniwersalnego na końcu potoku, klikając ikonę znaku plus, wpisując "universal" w polu wyszukiwania i klikając przycisk Dodaj, aby dodać zadanie do potoku. To zadanie zbiera wszystkie zasoby gotowe do produkcji utworzone przez krok
Run gatsby build
, tworzą wersjonowany pakiet uniwersalny i publikują pakiet w kanale informacyjnym.Ustaw polecenia na wartość
Publish
.Ustaw ścieżkę do plików, aby opublikować w katalogu zawierającym
package.json
projektu GatsbyJS.Wybierz docelowy kanał informacyjny, nazwę pakietu i ustaw strategię przechowywania wersji.
Po zakończeniu wymaganych pól kliknij pozycję WyświetlYAML.
Skopiuj wynikowy kod YAML do pliku
azure-pipelines.yml
, tak jak poprzednio. Kod YAML dla tego przykładowego projektu jest wyświetlany poniżej.# Publish Universal Package steps: - task: UniversalPackages@0 displayName: 'Universal publish' inputs: command: publish publishDirectory: Application vstsFeedPublish: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000002' # You can also use '<projectName>/<feedName>' instead of the GUIDs vstsFeedPackagePublish: mygatsbysite packagePublishDescription: 'A test package'
W tym przykładzie pokazano, jak za pomocą konstruktora zadań Pipelines szybko wygenerować kod YAML zadania pakietu uniwersalnego, które następnie można umieścić w pliku azure-pipelines.yml
. Konstruktor zadań pakietu uniwersalnego obsługuje wszystkie zaawansowane konfiguracje, które można utworzyć za pomocą argumentów zadania Universal Package.
Uwaga
Publikowanie pakietu bezpośrednio w widoku nie jest obsługiwane w usłudze Azure Artifacts. Najpierw musisz opublikować pakiet w kanale informacyjnym, a następnie podwyższyć poziom go do widoku.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 2.144.0 lub nowsza |
Kategoria zadań | Pakiet |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 2.115.0 lub nowsza |
Kategoria zadań | Pakiet |