Udostępnij za pośrednictwem


Publikowanie artefaktów Maven za pomocą usługi Azure Pipelines (YAML/Classic)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Usługa Azure Pipelines umożliwia deweloperom publikowanie artefaktów Maven w źródłach danych usługi Azure Artifacts w tej samej organizacji, w innych organizacjach i w publicznych rejestrach, takich jak Maven Central. Ten artykuł przeprowadzi Cię przez proces publikowania artefaktów Maven przy użyciu potoków YAML i klasycznych.

Wymagania wstępne

produkt Wymagania
Azure DevOps Organizacja usługi Azure DevOps i projekt.
— Źródło danych usługi Azure Artifacts .
- Pipeline roboczy.
Uprawnienia: -
    — Aby udzielić dostępu do wszystkich potoków w projekcie, musisz być członkiem grupy Administratorzy Projektu .
    — Aby utworzyć połączenia usług, musisz mieć rolę administratora lub twórcy dla połączeń usług.

Publikowanie pakietów w kanale informacyjnym w tej samej organizacji

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
  1. Zaloguj się do kolekcji usługi Azure DevOps, a następnie przejdź do projektu.
  1. Wybierz pozycję Potoki, a następnie wybierz definicję potoku.
  1. Wybierz pozycję Edytuj, a następnie dodaj następujący fragment kodu do potoku YAML:

    steps:
    - task: MavenAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        artifactsFeeds: 'MavenDemo,MavenDemoFeed2'        ## Select one or multiple feeds to authenticate with.
    - script: |
       mvn deploy
      displayName: 'Publish'
    

Uwaga

Aby opublikować pakiety w feedzie przy użyciu Azure Pipelines, upewnij się, że zarówno identyczność Project Collection Build Service, jak i identyczność Build Service projektu, mają przypisaną rolę Wydawca kanału (Kontrybutor) w ustawieniach feedu. Aby uzyskać więcej informacji, zobacz Zarządzanie uprawnieniami .

Publikowanie pakietów w kanale informacyjnym w innej organizacji

Aby opublikować pakiety do kanału w innej organizacji Azure DevOps, musisz najpierw utworzyć osobisty token dostępu (PAT) w organizacji docelowej, a następnie użyć tego tokenu do utworzenia połączenia usługi i uwierzytelnienia się z docelowym kanałem.

Tworzenie osobistego tokenu dostępu

  1. Przejdź do organizacji, która hostuje docelowy kanał informacyjny.

  2. Utwórz osobisty token dostępu z zakresem Packaging>Read & write.

  3. Skopiuj osobisty token dostępu, ponieważ będzie potrzebny w poniższej sekcji.

Tworzenie połączenia z usługą

  1. Zaloguj się do organizacji usługi Azure DevOps, w której zostanie uruchomiony potok, a następnie przejdź do swojego projektu.

  2. Przejdź do ustawień projektu>Połączenia z usługą.

  3. Wybierz pozycję Nowe połączenie z usługą, wybierz pozycję Maven, a następnie wybierz pozycję Dalej.

  4. W polu Metoda uwierzytelniania wybierz pozycję Nazwa użytkownika i Hasło. Wprowadź adres URL repozytorium i identyfikator repozytorium.

  5. W polu Nazwa użytkownika wprowadź dowolną wartość ciągu (jest to wymagane, ale usługa Azure Pipelines będzie używać konfiguracji pom.xml i osobistego tokenu dostępu utworzonego wcześniej na potrzeby uwierzytelniania).

    • W polu Hasło wklej utworzony wcześniej osobisty token dostępu.
    • Podaj nazwę połączenia usługi.
    • Zaznacz pole wyboru Udziel uprawnień dostępu do wszystkich potoków .
  6. Wybierz Zapisz, gdy skończysz.

Publikowanie pakietów

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Potoki, a następnie wybierz definicję potoku.

  3. Wybierz pozycję Edytuj, a następnie dodaj następujący fragment kodu do potoku YAML:

    steps:
    - task: MavenAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        MavenServiceConnections: <NAME_OF_YOUR_SERVICE_CONNECTION> 
    
    - script: |
       mvn deploy
      displayName: 'Publish'