Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara menyiapkan alur di Azure Pipelines untuk membangun dan menyebarkan aplikasi web ke Azure dan mengaktifkan autentikasi bawaan Azure App Service.
Anda akan mempelajari cara:
- Mengonfigurasi sumber daya Azure menggunakan skrip di Azure Pipelines
- Membangun aplikasi web dan menyebarkan ke App Service menggunakan Azure Pipelines
- Membuat pendaftaran aplikasi Microsoft Entra di Azure Pipelines
- Mengonfigurasi autentikasi bawaan App Service di Azure Pipelines.
Prasyarat
- Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
- Organisasi Azure DevOps.
Buat satu secara gratis.
- Untuk menggunakan agen yang dihosting Microsoft, organisasi Azure DevOps Anda harus memiliki akses ke pekerjaan paralel yang dihosting Microsoft. Periksa pekerjaan paralel Anda dan minta hibah gratis.
- Microsoft Entra tenant.
- Akun GitHub dan penyiapan Git secara lokal.
- Persyaratan minimum .NET 6.0 SDK.
Membuat sampel aplikasi web ASP.NET Core
Buat aplikasi sampel dan dorong ke repositori GitHub Anda.
Membuat dan mengkloning repo di GitHub
Buat repositori baru di GitHub, tentukan nama seperti "PipelinesTest". Atur ke Privat dan tambahkan file .gitignore dengan .getignore template: VisualStudio
.
Buka jendela terminal dan ubah direktori kerja saat ini ke lokasi tempat Anda menginginkan direktori kloning:
cd c:\temp\
Masukkan perintah berikut untuk mengkloning repositori:
git clone https://github.com/YOUR-USERNAME/PipelinesTest
cd PipelinesTest
Buat aplikasi web ASP.NET Core
Buka jendela terminal pada komputer Anda ke direktori kerja. Buat aplikasi web ASP.NET Core baru menggunakan perintah webapp baru dotnet , lalu ubah direktori menjadi aplikasi yang baru dibuat.
dotnet new webapp -n PipelinesTest --framework net7.0 cd PipelinesTest dotnet new sln dotnet sln add .
Dari sesi terminal yang sama, jalankan aplikasi secara lokal menggunakan perintah dotnet run.
dotnet run --urls=https://localhost:5001/
Untuk memverifikasi bahwa aplikasi web berjalan, buka browser web dan navigasikan ke aplikasi di
https://localhost:5001
.
Anda melihat templat aplikasi web ASP.NET Core ditampilkan di dalam halaman tersebut.
Masukkan CTRL-C di baris perintah untuk berhenti menjalankan aplikasi web.
Dorong sampel ke GitHub
Terapkan perubahan Anda dan dorong ke GitHub:
git add .
git commit -m "Initial check-in"
git push origin main
Menyiapkan lingkungan Azure DevOps Anda
Masuk ke organisasi Azure DevOps Anda (https://dev.azure.com/{yourorganization}
).
Buat proyek baru:
- Pilih Proyek baru.
- Masukkan Nama proyek, seperti "PipelinesTest".
- Pilih Visibilitas privat .
- Pilih Buat.
Membuat alur baru
Setelah proyek dibuat, tambahkan alur:
- Di panel navigasi kiri, pilih Alur-Alur>, lalu pilih Buat Alur.
- Pilih GitHub YAML.
- Pada tab Sambungkan , pilih GitHub YAML. Jika diminta, masukkan kredensial GitHub Anda.
- Saat daftar repositori muncul, pilih repositori Anda
PipelinesTest
. - Anda mungkin diarahkan ke GitHub untuk menginstal aplikasi Azure Pipelines. Jika demikian, pilih Setujui & instal.
- Di Konfigurasikan alur Anda, pilih alur Starter.
- Sebuah pipeline baru dengan konfigurasi dasar muncul. Konfigurasi default menggunakan agen yang dihosting Microsoft.
- Saat Anda siap, pilih Simpan dan jalankan. Untuk menerapkan perubahan Anda ke GitHub dan memulai alur, pilih Terapkan langsung ke cabang utama dan pilih Simpan dan jalankan untuk kedua kalinya. Jika diminta untuk memberikan izin dengan pesan seperti Alur ini memerlukan izin untuk mengakses sumber daya sebelum eksekusi ini dapat dilanjutkan, pilih Tampilkan dan ikuti perintah untuk mengizinkan akses.
Tambahkan tahap build dan tugas build ke dalam alur kerja Anda
Setelah memiliki alur yang berfungsi, Anda dapat menambahkan tahap build dan membangun tugas untuk membangun aplikasi web.
Perbarui azure-pipelines.yml dan ganti konfigurasi alur dasar dengan yang berikut ini:
trigger:
- main
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Simpan perubahan Anda dan jalankan pipeline.
Tahap Build
didefinisikan untuk membangun aplikasi web. Di bawah bagian steps
, Anda akan melihat berbagai tugas untuk membangun aplikasi web dan menerbitkan file hasil ke alur kerja.
- NuGetToolInstaller@1 memperoleh NuGet dan menambahkannya ke PATH.
- NuGetCommand@2 memulihkan paket NuGet dalam solusi.
- VSBuild@1 membangun solusi dengan MSBuild dan mengemas hasil build aplikasi (termasuk dependensinya) sebagai file .zip ke dalam folder.
- PublishBuildArtifacts@1 menerbitkan file .zip ke Azure Pipelines.
Membuat koneksi layanan
Tambahkan koneksi layanan sehingga alur Anda dapat menyambungkan dan menyebarkan sumber daya ke Azure:
- Pilih Pengaturan proyek.
- Di panel navigasi kiri, pilih Koneksi layanan lalu Buat koneksi layanan.
- Pilih Azure Resource Manager lalu Berikutnya.
- Pilih Prinsipal Layanan (otomatis), dan kemudian Berikutnya.
- Pilih Langganan untuk tingkat cakupan dan pilih langganan Azure Anda. Masukkan nama koneksi layanan seperti "PipelinesTestServiceConnection" dan pilih Berikutnya. Nama koneksi layanan digunakan dalam langkah-langkah berikut.
Aplikasi juga dibuat di penyewa Microsoft Entra Anda yang menyediakan identitas untuk pipeline tersebut. Anda memerlukan nama tampilan pendaftaran aplikasi di langkah selanjutnya. Untuk menemukan nama tampilan:
- Masuk ke pusat admin Microsoft Entra setidaknya sebagai Pengembang Aplikasi.
- Telusuri pendaftaranAplikasi>Entra ID>Semua aplikasi.
- Temukan nama tampilan pendaftaran aplikasi, yang berbentuk
{organization}-{project}-{guid}
.
Berikan izin koneksi layanan untuk mengakses alur:
- Di panel navigasi kiri, pilih Pengaturan proyek lalu Koneksi layanan.
- Pilih koneksi layanan PipelinesTestServiceConnection , lalu Elipsis, lalu Keamanan dari menu drop-down.
- Di bagian Izin pipeline, pilih Tambahkan pipeline dan pilih koneksi layanan PipelinesTest dari daftar.
Menambahkan grup variabel
Tahap DeployAzureResources
yang Anda buat di bagian berikutnya menggunakan beberapa nilai untuk membuat dan menyebarkan sumber daya ke Azure:
- ID penyewa Microsoft Entra (temukan di pusat admin Microsoft Entra).
- Wilayah, atau lokasi, tempat sumber daya disebarkan.
- Nama grup sumber daya.
- Nama paket layanan App Service.
- Nama aplikasi web.
- Nama koneksi layanan yang digunakan untuk menyambungkan alur ke Azure. Dalam alur, nilai ini digunakan untuk langganan Azure.
Buat grup variabel dan tambahkan nilai untuk digunakan sebagai variabel dalam alur.
Pilih Pustaka di panel navigasi kiri dan buat Kelompok Variabel baru. Beri nama "AzureResourcesVariableGroup".
Tambahkan variabel dan nilai berikut:
Nama variabel | Contoh nilai |
---|---|
TEMPAT | centralus |
TENANTID | {tenant-id} |
RESOURCEGROUPNAME | pipelinetestgroup |
SVCPLANNAME | rencana uji jalur |
WEBAPPNAMETEST | pipelinetestwebapp |
AZURESUBSCRIPTION | PipelinesTestServiceConnection |
Pilih Simpan.
Berikan izin alur untuk mengakses grup variabel. Di halaman grup variabel, pilih Izin alur, tambahkan alur Anda, lalu tutup jendela.
Perbarui azure-pipelines.yml dan tambahkan grup variabel ke alur.
variables:
- group: AzureResourcesVariableGroup
trigger:
- main
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'windows-latest'
Simpan perubahan Anda dan jalankan pipeline.
Menyebarkan sumber daya Azure
Selanjutnya, tambahkan tahap ke pipeline yang menyebarkan sumber daya Azure. Alur menggunakan skrip sebaris untuk membuat instans App Service. Pada langkah berikutnya, skrip inline membuat pendaftaran aplikasi Microsoft Entra untuk mengotentikasi Layanan Aplikasi. Skrip bash Azure CLI digunakan karena Azure Resource Manager (dan tugas Azure Pipelines) tidak dapat membuat pendaftaran aplikasi.
Skrip sebaris dijalankan dalam konteks alur kerja, tetapkan peran Application.Administrator ke aplikasi agar skrip dapat membuat pendaftaran aplikasi.
- Masuk ke pusat admin Microsoft Entra.
- Telusuri ke Entra ID>Peran & admin.
- Pilih Administrator Aplikasi dari daftar peran bawaan lalu Tambahkan penugasan.
- Cari pendaftaran aplikasi pipeline berdasarkan nama tampilan.
- Pilih pendaftaran aplikasi dari daftar dan pilih Tambahkan.
Perbarui azure-pipelines.yml untuk menambahkan skrip sebaris, yang membuat grup sumber daya di Azure, membuat paket App Service, dan membuat instans App Service.
variables:
- group: AzureResourcesVariableGroup
trigger:
- main
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- stage: DeployAzureResources
displayName: 'Deploy resources to Azure'
dependsOn: Build
condition: |
succeeded()
jobs:
- job: DeployAzureResources
pool:
vmImage: 'windows-latest'
steps:
- task: AzureCLI@2
inputs:
azureSubscription: $(AZURESUBSCRIPTION)
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
# Create a resource group
az group create --location $LOCATION --name $RESOURCEGROUPNAME
echo "Created resource group $RESOURCEGROUPNAME"
# Create App Service plan
az appservice plan create -g $RESOURCEGROUPNAME -n $SVCPLANNAME --sku FREE
echo "Created App Service plan $SVCPLANNAME"
### Create Test resources
# create and configure an Azure App Service web app
az webapp create -g $RESOURCEGROUPNAME -p $SVCPLANNAME -n $WEBAPPNAMETEST -r "dotnet:7"
name: DeploymentScript
Simpan perubahan Anda dan jalankan pipeline. Di portal Microsoft Azure, buka Grup sumber daya dan verifikasi bahwa grup sumber daya baru dan instans App Service dibuat.
Menyebarkan aplikasi web ke App Service
Sekarang setelah alur Anda sudah membuat sumber daya di Azure, terdapat tahap untuk dilangsungkan penyebaran aplikasi web ke App Service.
Perbarui azure-pipelines.yml untuk menambahkan tahap penyebaran.
variables:
- group: AzureResourcesVariableGroup
trigger:
- main
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- stage: DeployAzureResources
displayName: 'Deploy resources to Azure'
dependsOn: Build
condition: |
succeeded()
jobs:
- job: DeployAzureResources
pool:
vmImage: 'windows-latest'
steps:
- task: AzureCLI@2
inputs:
azureSubscription: $(AZURESUBSCRIPTION)
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
# Create a resource group
az group create --location $LOCATION --name $RESOURCEGROUPNAME
echo "Created resource group $RESOURCEGROUPNAME"
# Create App Service plan
az appservice plan create -g $RESOURCEGROUPNAME -n $SVCPLANNAME --sku FREE
echo "Created App Service plan $SVCPLANNAME"
### Create Test resources
# create and configure an Azure App Service web app
az webapp create -g $RESOURCEGROUPNAME -p $SVCPLANNAME -n $WEBAPPNAMETEST -r "dotnet:7"
name: DeploymentScript
- stage: DeployWebApp
displayName: 'Deploy the web app'
dependsOn: DeployAzureResources
condition: |
succeeded()
jobs:
- job: DeployWebApp
displayName: 'Deploy Web App'
pool:
vmImage: 'windows-latest'
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.DefaultWorkingDirectory)'
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: $(AZURESUBSCRIPTION)
appType: 'webApp'
WebAppName: '$(WEBAPPNAMETEST)'
packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'
Simpan perubahan Anda dan jalankan alur.
Tahap DeployWebApp
didefinisikan dengan beberapa tugas:
- DownloadBuildArtifacts@1 mengunduh artefak hasil build yang diterbitkan ke rangkaian pada tahap sebelumnya.
- AzureRmWebAppDeployment@4 menyebarkan aplikasi web ke App Service.
Silakan lihat situs web yang telah dideploy di App Service. Navigasi ke App Service Anda dan pilih domain Default instans: https://pipelinetestwebapp.azurewebsites.net
.
Pipelinetestwebapp telah berhasil disebarkan ke App Service.
Mengonfigurasi autentikasi layanan aplikasi
Sekarang setelah alur menyebarkan aplikasi web ke App Service, Anda dapat mengonfigurasi autentikasi bawaan App Service. Ubah skrip sebaris dalam DeployAzureResources
menjadi:
- Buat pendaftaran aplikasi Microsoft Entra sebagai identitas untuk aplikasi web Anda. Untuk membuat pendaftaran aplikasi, perwakilan layanan untuk menjalankan alur memerlukan peran Administrator Aplikasi dalam direktori.
- Dapatkan rahasia dari aplikasi.
- Konfigurasikan pengaturan rahasia untuk aplikasi web App Service.
- Konfigurasikan URI pengalihan, URI halaman beranda, dan pengaturan penerbit untuk aplikasi web App Service.
- Konfigurasikan pengaturan lain di aplikasi web.
variables:
- group: AzureResourcesVariableGroup
trigger:
- main
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- stage: DeployAzureResources
displayName: 'Deploy resources to Azure'
dependsOn: Build
condition: |
succeeded()
jobs:
- job: DeployAzureResources
pool:
vmImage: 'windows-latest'
steps:
- task: AzureCLI@2
inputs:
azureSubscription: $(AZURESUBSCRIPTION)
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
# Create a resource group
az group create --location $LOCATION --name $RESOURCEGROUPNAME
echo "Created resource group $RESOURCEGROUPNAME"
# Create App Service plan
az appservice plan create -g $RESOURCEGROUPNAME -n $SVCPLANNAME --sku FREE
echo "Created App Service plan $SVCPLANNAME"
### Create Test resources
# create and configure an Azure App Service web app
az webapp create -g $RESOURCEGROUPNAME -p $SVCPLANNAME -n $WEBAPPNAMETEST -r "dotnet:7"
redirectUriTest="https://$WEBAPPNAMETEST.azurewebsites.net/.auth/login/aad/callback"
homePageUrlTest="https://$WEBAPPNAMETEST.azurewebsites.net"
issuerTest="https://sts.windows.net/$TENANTID"
# Required resource access. Access Microsoft Graph with delegated User.Read permissions.
cat > manifest.json << EOF
[
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
"type": "Scope"
}
]
}
]
EOF
# Create app registration for App Service authentication
appIdTest=$(az ad app create --display-name $WEBAPPNAMETEST --sign-in-audience AzureADMyOrg --enable-id-token-issuance true --query appId --output tsv)
echo "Created app registration $appIdTest"
# Set identifier URI, homepage, redirect URI, and resource access
az ad app update --id $appIdTest --identifier-uris api://$appIdTest --web-redirect-uris $redirectUriTest --web-home-page-url $homePageUrlTest --required-resource-accesses @manifest.json
echo "Updated app $appIdTest"
# Get secret from the app for App Service authentication
secretTest=$(az ad app credential reset --id $appIdTest --query password --output tsv)
echo "Added secret to app $appIdTest"
az config set extension.use_dynamic_install=yes_without_prompt
az extension add --name authV2
az webapp config appsettings set --name $WEBAPPNAMETEST --resource-group $RESOURCEGROUPNAME --slot-settings MICROSOFT_PROVIDER_AUTHENTICATION_SECRET=$secretTest
echo "Updated settings for web app $WEBAPPNAMETEST"
az webapp auth microsoft update --name $WEBAPPNAMETEST --resource-group $RESOURCEGROUPNAME --client-id $appIdTest --secret-setting MICROSOFT_PROVIDER_AUTHENTICATION_SECRET --allowed-audiences $redirectUriTest --issuer $issuerTest
echo "Updated authentication settings for $WEBAPPNAMETEST"
name: DeploymentScript
- stage: DeployWebApp
displayName: 'Deploy the web app'
dependsOn: DeployAzureResources
condition: |
succeeded()
jobs:
- job: DeployWebApp
displayName: 'Depoy Web App'
pool:
vmImage: 'windows-latest'
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.DefaultWorkingDirectory)'
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: $(AZURESUBSCRIPTION)
appType: 'webApp'
WebAppName: '$(WEBAPPNAMETEST)'
packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'
Simpan perubahan Anda dan jalankan alur.
Memverifikasi akses terbatas ke aplikasi web
Untuk memverifikasi bahwa akses ke aplikasi Anda terbatas pada pengguna di organisasi Anda, navigasikan ke App Service Anda dan pilih domain Default instans: https://pipelinetestwebapp.azurewebsites.net
.
Anda akan diarahkan ke halaman masuk yang aman, memverifikasi bahwa pengguna yang tidak diautentikasi tidak diizinkan mengakses situs. Masuk sebagai pengguna di organisasi Anda untuk mendapatkan akses ke situs.
Anda juga dapat memulai browser baru dan mencoba masuk dengan menggunakan akun pribadi untuk memverifikasi bahwa pengguna di luar organisasi tidak memiliki akses.
Membersihkan sumber daya
Bersihkan sumber daya Azure dan lingkungan Azure DevOps sehingga Anda tidak dikenakan biaya untuk sumber daya setelah selesai.
Menghapus grup sumber daya
Pilih Grup sumber daya dari menu dan pilih grup sumber daya yang berisi aplikasi web yang Anda sebarkan.
Pilih Hapus grup sumber daya untuk menghapus grup sumber daya dan semua sumber daya.
Menonaktifkan alur atau menghapus proyek Azure DevOps
Anda membuat proyek yang menunjuk ke repositori GitHub. Alur dipicu untuk berjalan setiap kali Anda mendorong perubahan ke repositori GitHub Anda, menggunakan menit build gratis atau sumber daya Anda.
Opsi 1: Nonaktifkan alur Anda
Pilih opsi ini jika Anda ingin menyimpan proyek dan alur build Anda untuk referensi di masa mendatang. Anda dapat mengaktifkan kembali alur Anda nanti jika perlu.
- Di proyek Azure DevOps Anda, pilih Alur lalu pilih alur Anda.
- Pilih tombol elipsis di ujung kanan, lalu pilih pengaturan .
- Pilih Dinonaktifkan, lalu pilih Simpan. Alur Anda tidak akan lagi memproses permintaan menjalankan baru.
Opsi 2: Hapus proyek Anda
Pilih opsi ini jika Anda tidak memerlukan proyek DevOps untuk referensi di masa mendatang. Ini menghapus proyek Azure DevOps Anda.
- Navigasikan ke proyek Azure DevOps Anda.
- Pilih Pengaturan proyek di sudut kiri bawah.
- Di bawah Gambaran Umum, gulir ke bawah ke bagian bawah halaman lalu pilih Hapus.
- Ketik nama proyek Anda di kotak teks, lalu pilih Hapus.
Menghapus pendaftaran aplikasi di ID Microsoft Entra
Di pusat admin Microsoft Entra, pilihPendaftaran> Aplikasi Id Entra>Semua aplikasi.
Pilih aplikasi untuk pipeline, nama tampilan memiliki format {organization}-{project}-{guid}
, dan hapus.
Pilih aplikasi untuk aplikasi web, pipelinetestwebapp, dan hapus.
Langkah selanjutnya
Pelajari selengkapnya tentang: