Ulepszone zabezpieczenia i przepływy pracy linii pakietów
Dzięki temu sprintowi usprawniamy przepływ pracy DevOps, zwiększając widoczność zabezpieczeń i usprawniając procesy w potokach. Usługa GitHub Advanced Security zawiera teraz szczegółowe śledzenie aktywacji dla skanowania zależności , skanowania kodui skanowania tajemnic, oferując bardziej szczegółowe informacje na temat pokrycia zabezpieczeń organizacji.
Ponadto z przyjemnością wprowadzamy ulepszenia ukierunkowane na potoki, w tym nowe funkcje wyrażeń YAML oraz rozszerzone mechanizmy kontrolne dla zadań ręcznej weryfikacji, co umożliwia tworzenie bardziej wydajnych i bezpiecznych przepływów pracy.
Sprawdź notatki do wydania, aby uzyskać szczegóły.
Usługa GitHub Advanced Security dla usługi Azure DevOps
Azure Boards:
Azure Repos
- Rzadkie sprawdzanie dla usługi Azure Repos
- Uczyń zasady dla repozytoriów rozróżniającymi wielkość liter
Azure Pipelines
Plany testów
Usługa GitHub Advanced Security dla usługi Azure DevOps
Omówienie zabezpieczeń specyficznych dla narzędzi
Przegląd zabezpieczeń w usłudze GitHub Advanced Security dla Azure DevOps zawiera teraz szczegółowy podział statusu włączenia dla każdego narzędzia skanowania, w tym skanowanie zależności , skanowanie kodu i skanowanie sekretów . To ulepszenie umożliwia wyświetlanie szczegółowego stanu włączania we wszystkich repozytoriach w organizacji.
Aby uzyskać więcej informacji, zobacz Security overview for Advanced Security.
Azure Boards
Integracja usługi Azure Boards z usługą GitHub Enterprise Cloud z rezydencją danych (wersja zapoznawcza)
Uwaga
Ta funkcja jest obecnie dostępna w wersji zapoznawczej. prosimy o wysłanie do nas wiadomości e-mail, jeśli jesteś zainteresowany wypróbowaniem integracji Boards z usługą GitHub Enterprise Cloud z rezydencją danych.
Usługa Azure Boards obsługuje teraz integrację z organizacjami GitHub Enterprise Cloud, które mają włączoną rezydencję danych. Ta aktualizacja jest zgodna z ogłoszeniem z września 2024 r. na GitHubie wprowadzeniem rezydencji danych dla klientów chmury korporacyjnej, począwszy od tych w Unii Europejskiej (UE).
Aby połączyć projekt usługi Azure Boards z organizacją usługi GitHub Enterprise Cloud przy użyciu miejsca przechowywania danych:
- Utwórz nowe połączenie w usłudze Azure Boards.
- Wybierz opcję GitHub Enterprise Cloud z miejsca przechowywania danych.
Azure Repos
Częściowe pobieranie dla Azure Repos
Polecenie wyewidencjonowania git jest teraz obsługiwane w zadaniu wyewidencjonowania YAML wraz z filtrem częściowego klonowania, aby poprawić wydajność wyewidencjonowania repozytorium. Możesz użyć właściwości sparseCheckoutDirectories
i sparseCheckoutPatterns
.
Ustawienie sparseCheckoutDirectories
włącza tryb "cone", w którym proces wyewidencjonowania używa dopasowywania katalogów. Alternatywnie można ustawić sparseCheckoutPatterns
, które wyzwala tryb nie stożkowy, umożliwiając zaawansowane dopasowywanie wzorców.
Jeśli obie właściwości są ustawione, agent inicjuje tryb stożka z dopasowaniem katalogu. Jeśli żadna właściwość nie zostanie określona w zadaniu wyewidencjonowania, proces rzadkiego wyewidencjonowania jest wyłączony. Jeśli podczas wykonywania polecenia wystąpią jakiekolwiek problemy, zadanie zakończy się niepowodzeniem.
Przykład YAML dla rozrzedzania trybu wyewidencjonowania stożka:
checkout: repo
sparseCheckoutDirectories: src
Przykład YAML dla rzadkiego pobierania w trybie innym niż stożkowy.
checkout: repo
sparseCheckoutPatterns: /* !/img
Ważny
Funkcja rzadka kontrola wymaga agenta w wersji 3.248.0 lub późniejszej (wersji 4.248.0 lub późniejszej dla platformy .NET 8) lub nowszych wersji.
Agent jest dostępny na stronie wydań .
Ustaw zasady między repozytoriami jako uwzględniające wielkość liter
Wcześniej wersja zapoznawcza kandydata dla gałęzi dla zasad między repozytoriami wyświetlała wyniki w sposób niewrażliwy na wielkość liter, mimo że dopasowanie gałęzi jest czułe na wielkość liter. Ta niespójność spowodowała potencjalne niedopasowanie, ponieważ mogło stwarzać wrażenie, że niektóre gałęzie były chronione, chociaż wcale nie były. Aby rozwiązać ten problem, zaktualizowaliśmy podgląd wzorca gałęzi, aby dostosować go do zastosowania zasad z uwzględnieniem wielkości liter.
Poprzednio:
Po:
Azure Pipelines
Nowe funkcje wyrażeń pipeline
Funkcje wyrażeń potoku umożliwiają pisanie zaawansowanych potoków YAML. W tym sprincie wprowadziliśmy dwie nowe funkcje:
iif(condition, value_when_true, value_when_false)
, który zwracavalue_when_true
, gdycondition
przyjmuje wartośćtrue
lubvalue_when_false
, w przeciwnym razietrim(string)
, który zwraca nowy ciąg, w którym są usuwane białe znaki na początku i na końcu ciągu
Na przykład możesz użyć funkcji iif
do dynamicznego wyboru puli do uruchamiania potoku. Jeśli chcesz utworzyć żądania ściągnięcia przy użyciu puli usługi Azure Pipelines, ale wszystkie inne uruchomienia powinny używać zarządzanej puli DevOps, możesz napisać następujący potok.
variables:
poolToUse: ${{ iif(eq(variables['Build.Reason'], 'PullRequest'), 'Azure Pipelines', 'ManagedDevOpsPool')}}
stages:
- stage: build
pool: ${{variables.poolToUse}}
jobs:
- job:
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'build'
Możesz użyć funkcji trim
, aby kod YAML był bardziej odporny na dane wejściowe użytkownika. Na przykład w poniższym przepływie używamy funkcji trim
, aby upewnić się, że nazwa etapu nie zaczyna się od spacji.
parameters:
- name: regions
type: string
default: ' wus1, wus2, wus3,wus4'
stages:
- ${{ each region in split(parameters.regions, ',')}}:
- stage: stage_${{trim(region)}}
displayName: Deploy to ${{trim(region)}}
jobs:
- job: deploy
steps:
- script: ./deploy.sh ${{trim(region)}}
Ulepszenia zadania ManualValidation
Zadanie ManualValidation umożliwia wstrzymanie przebiegu potoku i oczekiwanie na ręczną interwencję. Jednym ze scenariuszy użycia tego zadania jest testowanie ręczne.
Aby zwiększyć bezpieczeństwo potoku, możesz ograniczyć, kto może ukończyć zadanie i wznowić uruchomienie potoku. W tym celu wprowadzamy nową wersję zadania, która udostępnia dwa dodatkowe parametry:
approvers
: ogranicz, kto może wykonać zadanie do wstępnie zdefiniowanego zestawu użytkowników / grup zabezpieczeń / zespołówallowApproversToApproveTheirOwnRuns
: uniemożliw użytkownikowi, który uruchomił potok w kolejce, wznowienie go.
Na przykład poniższy fragment kodu YAML ogranicza możliwość wznowienia działania potoku do członków Grupy zatwierdzających wydań, z wyłączeniem użytkownika, który uruchomił potok.
- task: ManualValidation@1
inputs:
notifyUsers: 'Release Approvers'
approvers: 'Release Approvers'
allowApproversToApproveTheirOwnRuns: false
We właściwości approvers
można użyć następujących wartości (rozdzielonych przecinkami):
- Adres e-mail,
- Grupa uprawnień,
- Zespół projektu,
- [ProjectName][Grupa uprawnień],
- [Organizacja][Grupa uprawnień],
- [ProjectName][Zespół projektu]
Plany testów
Poprawki błędów planów testów platformy Azure
W tym przebiegu wprowadziliśmy aktualizacje planów testów platformy Azure, aby rozwiązać kilka usterek i zwiększyć użyteczność. Oto, co zostało naprawione:
widoczne wyniki kroków wspólnych: Usunięto usterkę polegającą na tym, że wyniki kroków wspólnych nie pojawiały się w edytorze zapytań podczas uzyskiwania dostępu do przypadków testowych w New Boards Hub.
Ulepszone sesje trybu interesariuszy: Rozwiązano problem w rozszerzeniu testów i opinii zwrotnej, który uniemożliwiał użytkownikom z dostępem interesariusza rozpoczynanie sesji.
Kopiowanie planu testów narzędzia Cleaner: Rozwiązano problem polegający na tym, że wymagania zostały zduplikowane podczas kopiowania planu testów przy użyciu opcji "Odwołaj się do istniejących przypadków testowych".
Następne kroki
Notatka
Te funkcje będą wdrażane w ciągu najbliższych dwóch do trzech tygodni.
Przejdź do usługi Azure DevOps i przyjrzyj się.
Jak przekazać opinię
Chcielibyśmy usłyszeć, co myślisz o tych funkcjach. Użyj menu Pomocy, aby zgłosić problem lub podać sugestię.
Możesz również uzyskać porady i odpowiedzi na pytania społeczności w witrynie Stack Overflow.
Dzięki
Silviu Andrica