steps.checkout definition
Służy checkout
do konfigurowania sposobu sprawdzania kodu źródłowego potoku.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
fetchTags: string # Set to 'true' to sync tags when fetching the repo, or 'false' to not sync tags. See remarks for the default behavior.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
retryCountOnTaskFailure: string # Number of retries if the task fails.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
retryCountOnTaskFailure: string # Number of retries if the task fails.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
steps:
- checkout: string # Required as first property. Whether or not to check out the repository containing this pipeline definition.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
steps:
- checkout: string # Required as first property. Whether or not to check out the repository containing this pipeline definition.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
Definicje odwołujące się do tej definicji: kroki
Właściwości
checkout
Ciąg. Wymagane jako pierwsza właściwość.
Konfiguruje wyewidencjonowania dla określonego repozytorium. Określ self
, none
, nazwę repozytorium lub zasób repozytorium. Aby uzyskać więcej informacji, zobacz Sprawdzanie wielu repozytoriów w potoku.
Uwaga
Jeśli żaden krok nie checkout
istnieje, wartość domyślna self
to dla jobs.job.step.checkout
i none
dla jobs.deployment.steps.checkout
.
checkout
Ciąg. Wymagane jako pierwsza właściwość.
Określa, czy należy wyewidencjonować repozytorium zawierające tę definicję potoku. Określ self
wartość lub none
.
clean
Ciąg.
Jeśli to prawda, uruchom polecenie git clean -ffdx, a następnie polecenie git reset --hard HEAD przed pobraniem. true | False.
fetchDepth
Ciąg.
Głębokość wykresu usługi Git do pobrania.
fetchTags
Ciąg.
Ustaw wartość "true", aby synchronizować tagi podczas pobierania repozytorium lub "false", aby nie synchronizować tagów. Zobacz uwagi dotyczące domyślnego zachowania.
lfs
Ciąg.
Ustaw wartość "true", aby pobrać pliki Git-LFS. Domyślnie nie należy ich pobierać.
persistCredentials
Ciąg.
Ustaw wartość "true", aby pozostawić token OAuth w konfiguracji usługi Git po początkowym pobraniu. Wartością domyślną jest to, że nie należy go pozostawiać.
submodules
Ciąg.
Ustaw wartość "true" dla pojedynczego poziomu modułów podrzędnych lub "rekursywnego", aby pobrać podmoduły podrzędne. Ustawieniem domyślnym nie jest pobieranie modułów podrzędnych.
path
Ciąg.
Gdzie umieścić repozytorium. Katalog główny to $(Pipeline.Workspace).
condition
Ciąg.
Oceń to wyrażenie warunku, aby określić, czy należy uruchomić to zadanie.
continueOnError
wartość logiczna.
Czy kontynuować działanie nawet w przypadku awarii?
displayName
Ciąg.
Czytelna dla człowieka nazwa zadania.
target
element docelowy.
Środowisko, w którym ma zostać uruchomione to zadanie.
enabled
wartość logiczna.
Czy uruchomić to zadanie, gdy zadanie zostanie uruchomione?
env
słownik ciągów.
Zmienne do mapowania na środowisko procesu.
name
Ciąg.
Identyfikator kroku. Dopuszczalne wartości: [-_A-Za-z0-9]*.
timeoutInMinutes
Ciąg.
Czas oczekiwania na ukończenie tego zadania, zanim serwer go zabije.
Uwaga
Potoki można skonfigurować z limitem czasu na poziomie zadania. Jeśli interwał limitu czasu na poziomie zadania upłynie przed ukończeniem kroku, zadanie uruchomione (w tym krok) zostanie zakończone, nawet jeśli krok zostanie skonfigurowany z dłuższym timeoutInMinutes
interwałem. Aby uzyskać więcej informacji, zobacz Limity czasu.
retryCountOnTaskFailure
Ciąg.
Liczba ponownych prób w przypadku niepowodzenia zadania.
Uwagi
Płytkie pobieranie
Ważne
Nowe potoki utworzone po aktualizacji przebiegu usługi Azure DevOps z września 2022 r. mają włączoną domyślnie opcję Płytkie pobieranie i skonfigurowane z głębokością 1. Wcześniej ustawieniem domyślnym nie było płytkie pobieranie. Aby sprawdzić potok, wyświetl ustawienie Płytkie pobieranie w interfejsie użytkownika ustawień potoku.
Aby wyłączyć płytkie pobieranie, można wykonać jedną z następujących dwóch opcji.
- Wyłącz opcję Płytkie pobieranie w interfejsie użytkownika ustawień potoku.
- Jawnie ustaw
fetchDepth: 0
wcheckout
kroku.
Aby skonfigurować głębokość pobierania dla potoku, możesz ustawić fetchDepth
właściwość w checkout
kroku lub skonfigurować ustawienie Płytkie pobieranie w interfejsie użytkownika ustawień potoku.
Uwaga
Jeśli jawnie ustawisz fetchDepth
w checkout
kroku, to ustawienie ma priorytet nad ustawieniem skonfigurowanym w interfejsie użytkownika ustawień potoku. Ustawienie fetchDepth: 0
pobiera całą historię i zastępuje ustawienie Płytkie pobieranie .
Clean, właściwość
clean
Jeśli właściwość nie jest ustawiona, jej wartość domyślna jest konfigurowana przez ustawienie czystego w ustawieniach interfejsu użytkownika dla potoków YAML, które jest domyślnie ustawione na wartość true. Oprócz opcji czyszczenia dostępnej przy użyciu checkout
programu można również skonfigurować czyszczenie w obszarze roboczym. Aby uzyskać więcej informacji na temat obszarów roboczych i opcji czyszczenia, zobacz temat obszar roboczy w obszarze Zadania.
Tagi synchronizacji
Krok wyewidencjonowania używa --tags
opcji podczas pobierania zawartości repozytorium Git. Powoduje to pobranie wszystkich tagów przez serwer, a także wszystkich obiektów wskazywanych przez te tagi. Zwiększa to czas uruchamiania zadania w potoku, szczególnie w przypadku dużego repozytorium z wieloma tagami. Ponadto krok wyewidencjonowania synchronizuje tagi nawet wtedy, gdy włączysz opcję płytkiego pobierania, co może oznaczać pokonanie jego celu. Aby zmniejszyć ilość danych pobranych lub ściągniętych z repozytorium Git, firma Microsoft dodała nową opcję wyewidencjonowania w celu kontrolowania zachowania synchronizacji tagów. Ta opcja jest dostępna zarówno w potokach klasycznych, jak i YAML.
Czy synchronizować tagi podczas wyewidencjonowania repozytorium można skonfigurować w języku YAML, ustawiając fetchTags
właściwość i w interfejsie użytkownika przez skonfigurowanie ustawienia Tagi synchronizacji .
Aby skonfigurować ustawienie w języku YAML, ustaw fetchTags
właściwość .
steps:
- checkout: self
fetchTags: true
Aby skonfigurować ustawienie w interfejsie użytkownika potoku, edytuj potok YAML, a następnie wybierz pozycję Więcej akcji, wyzwalaczy, YAML, Pobierz źródła i zaznacz lub usuń zaznaczenie pola wyboru Tagi synchronizacji . Aby uzyskać więcej informacji, zobacz Synchronizowanie tagów.
Zachowanie domyślne
- W przypadku istniejących potoków utworzonych przed wydaniem przebiegu usługi Azure DevOps 209, wydanego we wrześniu 2022 r., wartość domyślna synchronizacji tagów pozostaje taka sama jak w przypadku istniejącego zachowania przed dodaniu opcji tagów synchronizacji , czyli
true
. - W przypadku nowych potoków utworzonych po przebiegu usługi Azure DevOps w wersji 209 domyślną wartością dla tagów synchronizacji jest
false
.
Ważne
Ustawienie Tagów synchronizacji true w interfejsie użytkownika ma pierwszeństwo przed instrukcją fetchTags: false
w języku YAML. Jeśli tagi synchronizacji są ustawione na wartość true w interfejsie użytkownika, tagi są synchronizowane, nawet jeśli fetchTags
w języku YAML ustawiono wartość false.
Przykłady
Aby uniknąć synchronizowania źródeł w ogóle:
steps:
- checkout: none
Uwaga
Jeśli używasz agenta na koncie usługi lokalnej i chcesz zmodyfikować bieżące repozytorium przy użyciu operacji git lub ładowania modułów podrzędnych git, nadaj odpowiednie uprawnienia użytkownikowi kont usługi Kompilacja kolekcji projektów.
- checkout: self
submodules: true
persistCredentials: true
Aby wyewidencjonować wiele repozytoriów w potoku, wykonaj wiele checkout
kroków:
- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource
Aby uzyskać więcej informacji, zobacz Sprawdzanie wielu repozytoriów w potoku.