Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
W przypadku niektórych przepływów pracy potrzebny jest pipeline kompilacji uruchamiający polecenia Git. Na przykład po zakończeniu zadania budowania w gałęzi funkcjonalnej, zespół może chcieć scalić daną gałąź z gałęzią główną.
Git jest dostępny na agentach hostowanych przez Microsoft i na agentach lokalnych.
Włączanie skryptów do uruchamiania poleceń usługi Git
Uwaga
Przed rozpoczęciem upewnij się, że tożsamość domyślna konta jest ustawiona przy użyciu następującego kodu. To musi być zrobione jako pierwszy krok po pobraniu kodu.
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Udzielanie uprawnień kontroli wersji do usługi kompilacji
Przejdź do strony ustawień projektu dla organizacji w Ustawienia organizacji>Ogólne projekty>.
Wybierz projekt, który chcesz edytować.
W ustawienia projektuwybierz pozycję Repozytoria . Wybierz repozytorium, w którym chcesz uruchomić polecenia Git.
Wybierz pozycję Security, aby edytować zabezpieczenia repozytorium.
Wyszukaj Project Collection Build Service. Wybierz tożsamość {{nazwa projektu}} Usługa kompilacji ({Twoja organizacja}) (a nie grupę Konto usług kompilacji kolekcji projektów ({Twoja organizacja})). Domyślnie ta tożsamość może odczytywać dane z repozytorium, lecz nie może wprowadzać zmian. Udziel uprawnień wymaganych dla poleceń git, które chcesz uruchomić. Zwykle będziesz chciał przyznać:
- Utwórz gałąź: Zezwalaj
- Współpracuj : Zezwalaj
- odczyt : zezwalaj na
- Tworzenie tagu: Zezwalaj
Zezwalaj skryptom na dostęp do tokenu systemowego
Pamiętaj, aby wyczyścić repozytorium lokalne
Niektóre rodzaje zmian w repozytorium lokalnym nie są automatycznie czyszczone przez potok kompilacji. Upewnij się więc, że:
- Usuń utworzone gałęzie lokalne.
- Cofanie zmian konfiguracji usługi Git.
Jeśli wystąpią problemy z używaniem agenta lokalnego, upewnij się, że repozytorium jest czyste:
Przykłady
Wyświetl listę plików w swoim repozytorium
Na karcie kompilacjidodaj następujące zadanie:
Zadanie | Argumenty (w programowaniu) |
---|---|
![]() Narzędzie: wiersz poleceń Wyświetl listę plików w repozytorium Git. |
Narzędzie: git Argumenty: ls-files |
Scalanie gałęzi funkcjonalności z gałęzią główną
Chcesz, aby budynek CI został scalony z główną gałęzią, jeśli zakończy się pomyślnie.
Na karcie Wyzwalacze wybierz pozycję Ciągła integracja (CI) i uwzględnij gałęzie, które chcesz budować.
Utwórz merge.bat
w katalogu głównym repozytorium.
@echo off
ECHO SOURCE BRANCH IS %BUILD_SOURCEBRANCH%
IF %BUILD_SOURCEBRANCH% == refs/heads/main (
ECHO Building main branch so no merge is needed.
EXIT
)
SET sourceBranch=origin/%BUILD_SOURCEBRANCH:refs/heads/=%
ECHO GIT CHECKOUT MAIN
git checkout main
ECHO GIT STATUS
git status
ECHO GIT MERGE
git merge %sourceBranch% -m "Merge to main"
ECHO GIT STATUS
git status
ECHO GIT PUSH
git push origin
ECHO GIT STATUS
git status
Na karcie kompilacji dodać to jako ostatnie zadanie:
Zadanie | Argumenty (w programowaniu) |
---|---|
![]() narzędzie : skrypt wsadowy Uruchom merge.bat. |
Ścieżka: merge.bat |
Często zadawane pytania
Czy mogę uruchomić polecenia Git, jeśli repozytorium zdalne znajduje się w usłudze GitHub lub innej usłudze Git, takiej jak Bitbucket Cloud?
Tak
Których zadań można używać do uruchamiania poleceń usługi Git?
skryptu powłoki
Jak uniknąć wyzwalania budowy CI, gdy skrypt przesyła zmiany?
Dodaj [skip ci]
do komentarza lub opisu zatwierdzenia. Oto przykłady:
git commit -m "This is a commit message [skip ci]"
git merge origin/features/hello-world -m "Merge to main [skip ci]"
Możesz również użyć dowolnej z tych odmian w przypadku zatwierdzeń w usługach Azure Repos Git, Bitbucket Cloud, GitHub i GitHub Enterprise Server.
-
[skip ci]
lub[ci skip]
-
skip-checks: true
lubskip-checks:true
-
[skip azurepipelines]
lub[azurepipelines skip]
-
[skip azpipelines]
lub[azpipelines skip]
-
[skip azp]
lub[azp skip]
***NO_CI***
Czy potrzebuję agenta?
Do uruchomienia kompilacji lub wydania potrzebny jest co najmniej jeden agent .
Mam problemy. Jak można je rozwiązać?
Zobacz Rozwiązywanie problemów z kompilacją i wydaniem.
Nie mogę wybrać domyślnej puli agentów i nie mogę ustawić w kolejce kompilowania ani publikowania. Jak to naprawić?
Zobacz Pule agentów.
Moje zadanie przesyłania NuGet kończy się niepowodzeniem z powodu następującego błędu: "Błąd: nie można uzyskać certyfikatu od lokalnego wystawcy". Jak rozwiązać ten problem?
Można to naprawić przez dodanie zaufanego certyfikatu głównego. Możesz dodać zmienną środowiskową NODE_EXTRA_CA_CERTS=file
do agenta kompilacji lub dodać zmienną zadania NODE.EXTRA.CA.CERTS=file
w konfiguracji potoku. Aby uzyskać więcej informacji na temat tej zmiennej, zobacz dokumentację Node.js. Zobacz Ustawianie zmiennych w potoku, aby uzyskać instrukcje, jak ustawić zmienną w swoim potoku.
Używam lokalnego serwera TFS i nie widzę niektórych z tych funkcji. Dlaczego nie?
Niektóre z tych funkcji są dostępne tylko w usłudze Azure Pipelines i nie są jeszcze dostępne lokalnie. Niektóre funkcje są dostępne lokalnie, jeśli przeprowadzono uaktualnienie do najnowszej wersji serwera TFS.