Továbbfejlesztett biztonság és pipeline munkafolyamatok
Ezzel a sprinttel továbbfejlesztjük a DevOps-munkafolyamatot a nagyobb biztonsági láthatóság és az egyszerűsített folyamat-munkafolyamatok révén. A GitHub Advanced Security mostantól részletes engedélyezési nyomon követést biztosít függőségvizsgálati, kódvizsgálati, valamint titkos kódvizsgálati, amelyek részletesebb betekintést nyújtanak a szervezet biztonsági lefedettségébe.
Emellett izgatottan várjuk a folyamatközpontú fejlesztéseket, köztük az új YAML-kifejezési függvényeket és a manuális ellenőrzési feladatok kibővített vezérlőit, így hatékonyabb és biztonságosabb munkafolyamatokat hozhat létre.
Részletekért tekintse meg a kibocsátási megjegyzéseket.
GitHub Advanced Security for Azure DevOps
Azure Boards:
Azure Repos
- Részleges letöltés az Azure Repos
- Tárközi házirendek érzékennyé tétele a kis- és nagybetűk különbségeire
Azure Pipelines
Tesztcsomagok
GitHub Advanced Security for Azure DevOps
Eszközspecifikus biztonsági áttekintési lefedettség
Az Azure DevOpsHoz készült GitHub Advanced Security biztonsági áttekintése mostantól részletes leírást nyújt az egyes vizsgálati eszközök engedélyezési állapotáról, beleértve függőségvizsgálati, kódvizsgálatiés titkos kódvizsgálati. Ezzel a fejlesztéssel részletes engedélyezési állapotokat tekinthet meg a szervezet összes adattárában.
További információkért lásd: Haladó biztonság áttekintése.
Azure Boards
Azure Boards integráció a GitHub Enterprise Cloud szolgáltatással az adatrezidencia támogatásával (előzetes verzió)
Jegyzet
Ez a funkció jelenleg előzetes verzióban érhető el. Kérjük, küldjön e-mailt, ha szeretné kipróbálni a GitHub Enterprise Cloud és a Data Residency integrációját.
Az Azure Boards mostantól támogatja az adattárolást engedélyező GitHub Enterprise Cloud-szervezetekkel való integrációt. Ez a frissítés igazodik GitHub 2024. szeptemberi bejelentéséhez, a nagyvállalati felhővel rendelkező ügyfelek számára adattárolást vezet be, kezdve az Európai Unió (EU) területén találhatóakkal.
Azure Boards-projekt csatlakoztatása a GitHub Enterprise Cloud-szervezethez adattárolással:
- Hozzon létre egy új kapcsolatot az Azure Boardsban.
- Válassza a GitHub Enterprise Cloudot adattárolási beállítással.
Azure Repos
Ritka kivétel az Azure-adattárakhoz
A git sparse-checkout parancs mostantól támogatott a YAML-kivételi feladatban a részleges klónszűrőmellett az adattár-kivétel teljesítményének javítása érdekében. A tulajdonságokat sparseCheckoutDirectories
és sparseCheckoutPatterns
használhatja.
A sparseCheckoutDirectories
beállítása engedélyezi a cone módot, amelynél az ellenőrzési folyamat címtáregyezést alkalmaz. Másik lehetőségként beállíthatja a sparseCheckoutPatterns
-t, amely nem kúp módot aktivál, így összetettebb mintaegyezést tesz lehetővé.
Ha mindkét tulajdonság be van állítva, az ügynök inicializálja a "cone mode"-ot a könyvtáregyezéssel. Ha egyik tulajdonság sincs megadva a kivételi feladatban, a ritka kivételi folyamat le van tiltva. A parancs végrehajtása során felmerülő problémák a kivételi feladat sikertelenségéhez vezetnek.
YAML-példa a ritka pénztári cone módra:
checkout: repo
sparseCheckoutDirectories: src
YAML-példa a nem kúpos módban történő ritka kiválasztásra:
checkout: repo
sparseCheckoutPatterns: /* !/img
Fontos
A ritka kiválasztás funkcióhoz az ügynök 3.248.0 verziója (.NET 8 esetén 4.248.0 verzió) vagy újabb szükséges.
Az ügynök a kiadások oldalán található.
Tegyék a tárközi szabályzatokat kis- és nagybetű-érzékennyé
Korábban a kereszt-tárházi szabályzatok ágjelöltjeinek előzetes nézete a kis- és nagybetűk érzékenysége nélkül jelenítette meg az eredményeket, annak ellenére, hogy az ágegyezés kis- és nagybetűk különbségére érzékeny. Ez az inkonzisztencia potenciális félreértést okozott, mivel úgy tűnhet, hogy bizonyos ágak védettek, holott nem voltak. A probléma megoldásához frissítettük az ághálózat előnézetét, hogy igazodjon a szabályzatalkalmazás kis- és nagybetűkre érzékeny viselkedéséhez.
Korábban:
Után:
Azure Pipelines
Új folyamatkifejezési függvények
A folyamatkifejezési függvényekkel hatékony YAML-folyamatokat írhat. Ebben a futamban két új funkciót vezettünk be:
iif(condition, value_when_true, value_when_false)
, amelyvalue_when_true
ad vissza, amikorcondition
kiértékelésetrue
vagyvalue_when_false
, ellenkező esetbentrim(string)
, amely egy új sztringet ad vissza, amelyben a sztring elején és végén lévő szóközök el lesznek távolítva
A iif
függvénnyel például dinamikusan kiválaszthat egy készletet a folyamat futtatásához. Ha lekéréses kérelmeket szeretne létrehozni az Azure Pipelines-készlet használatával, de minden más futtatásnak felügyelt DevOps-készletet kell használnia, a következő folyamatot írhatja.
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'
A trim
függvénnyel rugalmasabbá teheti a YAML-et a felhasználói bemenettel szemben. A következő folyamatban például a trim
függvénnyel biztosítjuk, hogy a szakasz neve ne fehér szóközökkel kezdődjön.
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)}}
A ManualValidation tevékenység fejlesztései
A ManualValidation feladat lehetővé teszi, hogy szüneteltetje a folyamatfuttatást, és várja meg a manuális beavatkozást. A feladat használatának egyik forgatókönyve a manuális tesztelés.
A folyamat biztonságának növelése érdekében korlátozhatja, hogy ki végezheti el a feladatot, és folytathatja a folyamatfuttatást. Ennek érdekében a feladat új verzióját vezetjük be, amely két további paramétert biztosít:
approvers
: korlátozza, hogy ki végezheti el a feladatot előre meghatározott felhasználókra / biztonsági csoportokra / csapatokraallowApproversToApproveTheirOwnRuns
: korlátozza a pipeline futását kezdeményező felhasználót annak újraindításában
Az alábbi YAML-kódrészlet például a folyamatfuttatás folytatására képes személyek körét korlátozza a Kiadás jóváhagyói csoport tagjaira, a folyamatfuttatást kezdeményező felhasználóra azonban nem.
- task: ManualValidation@1
inputs:
notifyUsers: 'Release Approvers'
approvers: 'Release Approvers'
allowApproversToApproveTheirOwnRuns: false
A approvers
tulajdonságban a következő értékeket használhatja (vesszővel elválasztva):
- E-mail-cím,
- Engedélycsoport,
- Projektcsapat
- [ProjectName][Engedélycsoport],
- [Szervezet][Engedélycsoport],
- [ProjectName][Projektcsapat]
Tesztcsomagok
Az Azure Test Plans hibajavításai
Ezzel a sprinttel frissítettük az Azure Test Planset, hogy több hibát oldjunk meg és javítsunk a használhatóságon. Az alábbiakat javítottuk:
A közös lépések eredményei most már láthatóak: Kijavítottunk egy hibát, amely miatt a közös lépések eredményei nem jelentek meg a lekérdezésszerkesztőben, amikor az Új Táblák Központjában hozzáfértek a tesztesetekhez.
Továbbfejlesztett érdekelt módú munkamenetek: Megoldotta a teszt- és visszajelzésbővítmény azon problémáját, amely letiltotta az érintett hozzáféréssel rendelkező felhasználókat a munkamenetek indításához.
Teszttervek másolása: Kijavítottunk egy hibát, amely miatt a tesztterv másolása során a követelmények duplikálva lettek a "Meglévő tesztesetek hivatkozása" lehetőséggel.
Következő lépések
Jegyzet
Ezek a funkciók a következő két-három hétben jelennek meg.
Lépjen az Azure DevOpsba, és nézze meg.
Visszajelzés küldése
Szeretnénk hallani, mit gondol ezekről a funkciókról. A súgómenüvel jelentheti a problémát, vagy javaslatot adhat.
Ön tanácsokat és a kérdéseire választ is kaphat a közösségtől a Stack Overflowoldalon.
Köszönöm
Silviu Andrica