Mengatasi masalah menjalankan pipeline

Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Jika eksekusi alur Anda gagal diselesaikan, gunakan informasi diagnostik dan log di halaman ringkasan eksekusi alur untuk memecahkan masalah. Panduan ini menyediakan instruksi untuk mendiagnosis kegagalan alur menggunakan log, alat analisis kesalahan, dan teknik pemecahan masalah umum. Pelajari cara mengidentifikasi akar penyebab dan menerapkan solusi agar alur Anda tetap berjalan lancar.

Tip

Anda dapat menggunakan AI untuk membantu tugas ini nanti dalam artikel ini, atau lihat Aktifkan bantuan AI dengan Azure DevOps MCP Server untuk memulai.

Cuplikan layar halaman ringkasan eksekusi alur dengan informasi diagnostik.

Lihat log

Pilih pesan kesalahan untuk melihat log untuk tugas yang tidak selesai.

Cuplikan layar pesan kesalahan tugas di halaman ringkasan eksekusi alur.

Halaman log memperlihatkan kesalahan yang dipilih. Dalam contoh ini, ada kesalahan dalam cmd-line tugas, di mana echo perintah dimasukkan sebagai ech.

Cuplikan layar log diagnostik untuk eksekusi alur.

Anda dapat melihat log mentah untuk tugas dengan memilih Tampilkan log mentah, dan Anda dapat mencari log menggunakan Temukan.

Screenshot opsi tampilan log di Azure DevOps.

Pindai log dari tugas yang gagal untuk mendapatkan informasi kesalahan dan petunjuk yang dapat menjelaskan mengapa tugas tersebut gagal. Secara bawaan, log yang tidak verbose dihasilkan oleh jalankan pipa. Jika log default tidak menunjukkan penyebab masalah, Anda bisa mendapatkan informasi lebih lanjut dengan mengonfigurasi log verbose.

Halaman analisis kesalahan

Bantuan pemecahan masalah tersedia menggunakan halaman Analisis kesalahan . Gerakkan mouse di atas baris informasi kesalahan dan pilih ikon Lihat analisis .

Cuplikan layar ikon analisis tampilan pada halaman ringkasan eksekusi alur.

Screenshot ikon analisis tampilan di Azure DevOps Server.

Pilih Tampilkan agen untuk agen yang dihost sendiri (atau Tentang gambar agen yang dihosting untuk agen yang dihosting Microsoft) untuk melihat informasi selengkapnya tentang agen yang digunakan untuk menjalankan alur, dan Menampilkan log untuk melihat log eksekusi alur.

Screenshot halaman analisis kesalahan di portal Azure DevOps.

Pilih nama tugas di bawah Detail run-time untuk melihat informasi tentang tugas.

Cuplikan layar rincian tugas dari analisis kesalahan.

Dalam contoh ini, Anda dapat melihat bahwa ada kesalahan di Value dari Script. Pilih Tentang tugas ini untuk menampilkan dokumentasi tugas.

Jika masalah tidak terlihat dari halaman ringkasan eksekusi alur atau menelusuri log, periksa bagian Masalah umum berikut, dan lihat Meninjau log untuk mendiagnosis masalah alur untuk informasi tentang mengunduh log lengkap yang menyertakan informasi diagnostik lainnya.

Masalah umum

Pandangan tugas untuk eksekusi jalur pipa yang gagal

Azure DevOps menyediakan pengaturan Task Insights for Failed Pipeline Runs, yang saat diaktifkan, menyediakan pemberitahuan pop-up kegagalan build dengan tautan untuk melihat laporan.

Cuplikan layar metrik wawasan tugas.

Untuk mengonfigurasi pengaturan ini, masuk ke fitur Pratinjau, temukan Wawasan Tugas untuk Perjalanan Jalur yang Gagal, dan pilih pengaturan yang diinginkan.

Cuplikan layar wawasan tugas untuk pengaturan eksekusi alur yang gagal.

Pemberitahuan untuk proses yang gagal

Azure DevOps menyertakan pemberitahuan bawaan untuk pipeline yang gagal. Untuk mengaktifkan pemberitahuan:

  1. Buka Pengaturan> proyekPemberitahuan untuk proyek Anda.
  2. Pilih jenis pemberitahuan apa yang ingin Anda terima. Agar diberi pemberitahuan setiap kali pengoperasian pipeline gagal, pilih Sebuah build gagal.

Cuplikan layar pemberitahuan di pengaturan proyek.

Alur ini memerlukan izin untuk mengakses sumber daya sebelum eksekusi ini dapat dilanjutkan

Jika alur Anda tampaknya tidak dimulai, atau Anda menerima pesan kesalahan seperti This pipeline needs permission to access a resource before this run can continue, periksa untuk melihat apakah alur menunggu otorisasi dijalankan oleh sumber daya, seperti koneksi layanan atau kumpulan agen.

  1. Masuk ke pipeline dan mulai menjalankan secara manual.
  2. Pesan Alur ini memerlukan izin untuk mengakses sumber daya sebelum eksekusi ini dapat terus muncul. Pilih Tampilkan di samping pesan.
  3. Pada layar Menunggu tinjauan, pilih Izinkan, dan pada layar konfirmasi, pilih Izinkan lagi.

Tindakan ini secara eksplisit menambahkan pipeline sebagai pengguna yang berwenang untuk sumber daya tersebut.

Ada dua cara untuk mengotorisasi alur untuk mengakses kumpulan agen Anda.

Mengotorisasi alur tertentu

Anda dapat mengotorisasi alur tertentu secara individual untuk dijalankan di kumpulan agen dengan mengikuti prosedur di bagian sebelumnya saat Anda menerima pesan seperti This pipeline needs permission to access a resource before this run can continue.

Anda juga dapat menambahkan dan menghapus alur secara manual dari daftar yang diotorisasi dengan melakukan prosedur berikut. Prosedur ini dilakukan pada tingkat proyek di organisasi Azure DevOps Anda.

  1. Di Azure DevOps, buka pengaturan Proyek, kumpulan Agent, pilih kumpulan yang dihost sendiri, dan pilih Keamanan.
  2. Pilih + untuk menambahkan alur ke daftar yang diotorisasi.
  3. Pilih X(Cabut akses) untuk menghapus alur dari daftar yang diotorisasi.

Mengonfigurasi akses terbuka

Beberapa sumber daya memungkinkan Anda mengonfigurasi Akses terbuka sehingga setiap definisi alur baru tidak memerlukan otorisasi eksplisit.

Mengonfigurasi Akses terbuka memerlukan izin Administrator proyek .

Untuk mengonfigurasi Akses terbuka untuk kumpulan agen:

  1. Di Azure DevOps, buka pengaturan Proyek, kumpulan Agent, pilih kumpulan yang dihost sendiri, dan pilih Keamanan.
  2. Pilih Tindakan lainnya, Buka akses, untuk mengaktifkan akses terbuka, dan pilih Buka akses lagi untuk mengonfirmasi.
  3. Untuk mencabut akses terbuka, pilih Batasi izin.

Untuk meninjau apakah Buka akses tersedia untuk jenis sumber daya lainnya, lihat Kelola keamanan di Azure Pipelines dan cari Buka akses.

Untuk informasi selengkapnya tentang Membuka akses untuk kumpulan agen, lihat Mengatur izin alur untuk kumpulan agen individual dan Izin alur.

Waktu tugas habis

Alur dapat berjalan untuk waktu yang lama dan kemudian gagal karena waktu habis pekerjaan. Batas waktu pekerjaan dengan cermat tergantung pada agen yang digunakan. Agen gratis yang dihost Microsoft memiliki batas waktu maksimum 60 menit per pekerjaan untuk repositori privat dan 360 menit untuk repositori publik.

Untuk meningkatkan batas waktu maksimum untuk pekerjaan, Anda dapat memilih salah satu hal berikut.

  • Beli agen yang dihosting Microsoft yang memberi Anda waktu 360 menit untuk semua pekerjaan, terlepas dari repositori yang digunakan
  • Gunakan agen yang dihost sendiri untuk mengesampingkan masalah batas waktu yang disebabkan oleh agen tersebut

Pelajari selengkapnya tentang batas waktu pekerjaan.

Nota

Jika tugas agen yang di-host oleh Microsoft Anda kehabisan waktu, verifikasi bahwa batas waktu pipeline Anda diatur ke nilai yang lebih besar daripada batas waktu maksimum untuk sebuah tugas. Untuk memeriksa, lihat Batas waktu.

Terjadi masalah saat mengunduh kode

Rangkaian proses saya mengalami kegagalan pada langkah checkout

Jika Anda menggunakan langkah checkout pada repositori Git Azure Repos di organisasi Anda yang berada dalam proyek yang berbeda dari pipeline Anda, pastikan bahwa batasi cakupan otorisasi pekerjaan ke pengaturan proyek saat ini dinonaktifkan, atau ikuti langkah-langkah di Scoped build identities untuk memastikan bahwa pipeline Anda memiliki akses ke repositori.

Ketika alur Anda tidak dapat mengakses repositori karena cakupan otorisasi pekerjaan yang terbatas, Anda akan menerima kesalahan Git fetch failed with exit code 128 dan log Anda berisi entri yang mirip dengan Remote: TF401019: The Git repository with name or identifier <your repo name> does not exist or you do not have permissions for the operation you are attempting.

Jika alur Anda gagal segera dengan Could not find a project that corresponds with the repository, pastikan bahwa nama proyek dan repositori Anda benar pada langkah checkout atau pada deklarasi sumber daya repositori.

Masalah Kontrol Versi Team Foundation (TFVC)

Dapatkan sumber yang tidak mengunduh beberapa file

Anda mungkin melihat pesan di log "Semua file sudah diperbarui" dari perintah tf get. Verifikasi bahwa identitas layanan bawaan memiliki izin untuk mengunduh sumber. Identitas Project Collection Build Service atau Project Build Service memerlukan izin untuk mengunduh sumber, tergantung pada cakupan otorisasi yang dipilih pada tab Umum dari alur build. Di antarmuka pengguna web kontrol versi, Anda dapat menelusuri file proyek di tingkat hierarki folder apa pun dan memeriksa pengaturan keamanan.

Mendapatkan sumber melalui Proksi Team Foundation

Cara termudah untuk mengonfigurasi agen agar mendapatkan sumber melalui Proxy Team Foundation adalah dengan mengatur variabel TFSPROXY lingkungan yang menunjuk ke server proksi TFVC untuk agen yang dijalankan sebagai pengguna.

Windows:

    set TFSPROXY=http://tfvcproxy:8081
    setx TFSPROXY=http://tfvcproxy:8081 // If the agent service is running as NETWORKSERVICE or any service account you can't easily set user level environment variable

macOS/Linux:

    export TFSPROXY=http://tfvcproxy:8081

Alur saya gagal pada langkah baris perintah seperti MSBUILD

Sangat bermanfaat untuk menentukan apakah kegagalan build atau rilis adalah hasil dari masalah produk Azure Pipelines (agen atau tugas). Kegagalan build dan rilis mungkin juga dihasilkan dari perintah eksternal.

Periksa log untuk baris perintah yang tepat yang dijalankan oleh tugas yang gagal. Mencoba menjalankan perintah secara lokal dari baris perintah mungkin mengulangi masalah. Sangat membantu untuk menjalankan perintah secara lokal dari komputer Anda sendiri, dan/atau masuk ke komputer dan menjalankan perintah sebagai akun layanan.

Misalnya, apakah masalah terjadi selama bagian MSBuild dari alur build Anda (misalnya, apakah Anda menggunakan tugas MSBuild atau Visual Studio Build)? Jika demikian, coba jalankan perintah MSBuild yang sama pada komputer lokal menggunakan argumen yang sama. Jika Anda dapat mereproduksi masalah pada komputer lokal, maka langkah Anda berikutnya adalah menyelidiki masalah MSBuild .

Tata letak file

Lokasi alat, pustaka, header, dan hal lain yang diperlukan untuk build mungkin berbeda pada agen yang di-host dibandingkan dengan komputer lokal Anda. Jika build gagal karena tidak dapat menemukan salah satu file ini, Anda dapat menggunakan skrip di bawah ini untuk memeriksa tata letak pada agen. Ini mungkin membantu Anda melacak file yang hilang.

Buat alur YAML baru di lokasi sementara (misalnya, repositori baru yang dibuat untuk tujuan pemecahan masalah). Seperti yang tertulis, skrip mencari direktori di path Anda. Anda dapat mengedit SEARCH_PATH= baris secara opsional untuk mencari tempat lain.

# Script for Linux and macOS
pool: { vmImage: ubuntu-latest } # or whatever pool you use
steps:
- checkout: none
- bash: |
    SEARCH_PATH=$PATH  # or any colon-delimited list of paths
    IFS=':' read -r -a PathDirs <<< "$SEARCH_PATH"
    echo "##[debug] Found directories"
    for element in "${PathDirs[@]}"; do
        echo "$element"
    done;
    echo;
    echo;  
    echo "##[debug] Found files"
    for element in "${PathDirs[@]}"; do
        find "$element" -type f
    done
# Script for Windows
pool: { vmImage: windows-2019 } # or whatever pool you use
steps:
- checkout: none
- powershell: |
    $SEARCH_PATH=$Env:Path
    Write-Host "##[debug] Found directories"
    ForEach ($Dir in $SEARCH_PATH -split ";") {
      Write-Host "$Dir"
    }
    Write-Host ""
    Write-Host ""
    Write-Host "##[debug] Found files"
    ForEach ($Dir in $SEARCH_PATH -split ";") {
      Get-ChildItem $Dir -File -ErrorAction Continue | ForEach-Object -Process {
        Write-Host $_.FullName
      }
    }

Perbedaan antara prompt perintah lokal dan agen

Perlu diingat, beberapa perbedaan berlaku saat menjalankan perintah pada komputer lokal dan ketika build atau rilis berjalan pada agen. Jika agen dikonfigurasi untuk berjalan sebagai layanan di Linux, macOS, atau Windows, agen tidak berjalan dalam sesi masuk interaktif. Tanpa sesi masuk interaktif, terdapat batasan dalam interaksi UI dan lainnya.

Kesalahan dalam penggunaan file atau folder

File or folder in use kesalahan ditunjukkan oleh pesan kesalahan seperti:

  • Access to the path [...] is denied.
  • The process cannot access the file [...] because it is being used by another process.
  • Access is denied.
  • Can't move [...] to [...]

Langkah-langkah pemecahan masalah:

Mendeteksi file dan folder yang sedang digunakan

Pada Windows, alat seperti Process Monitor dapat mengambil jejak peristiwa file di bawah direktori tertentu. Atau, untuk rekam jepret tepat waktu, alat seperti Process Explorer atau Handle dapat digunakan.

Pengecualian dari pemindaian anti-virus

Perangkat lunak anti-virus yang memindai file Anda dapat menyebabkan kesalahan saat file atau folder sedang digunakan selama build atau rilis, dan build membutuhkan waktu lebih lama untuk diselesaikan. Menambahkan pengecualian anti-virus untuk direktori dan proses agen yang dihost sendiri dapat membantu menyelesaikan masalah ini.

Peringatan

Mengecualikan file atau proses dari pemindaian antivirus dapat membuat perangkat atau data Anda lebih rentan. Evaluasi risiko dan hanya kecualikan jalur yang Anda yakini aman.

Proses yang akan dikecualikan:

  • Agent.Listener.exe
  • Agent.Worker.exe
  • AgentService.exe

Direktori yang akan dikecualikan (dan subdirektorinya):

  • Direktori penginstalan agen (misalnya, C:\agent atau /home/user/myagent)
  • Folder kerja agen: <agent_directory>\_work
  • Folder agen diagnostik: <agent_directory>\_diag
  • Folder keluaran build yang dikonfigurasi untuk pipeline Anda, seperti direktori penahapan, lokasi drop artefak, dan jalur penerbitan simbol
  • %ProgramFiles%\Microsoft Visual Studio\<VersionNumber>(Windows)
  • C:\Windows\Microsoft.NET\Framework\<VersionNumber>\Temporary ASP.NET Files(Windows)
  • C:\Windows\Microsoft.NET\Framework64\<VersionNumber>\Temporary ASP.NET Files(Windows)

Untuk informasi selengkapnya, lihat Pengecualian pemindaian antivirus.

MSBuild dan /nodeReuse:false

Jika Anda memanggil MSBuild selama build Anda, pastikan untuk meneruskan argumen /nodeReuse:false (bentuk pendek /nr:false). Jika tidak, proses MSBuild terus berjalan setelah build selesai. Proses tetap berlangsung untuk sementara waktu sambil menunggu kemungkinan terjadinya build berikutnya.

Fitur MSBuild ini dapat mengganggu upaya untuk menghapus atau memindahkan direktori - karena konflik dengan direktori kerja proses MSBuild.

Tugas MSBuild dan Visual Studio Build sudah menambahkan /nr:false ke argumen yang diteruskan ke MSBuild. Namun, jika Anda memanggil MSBuild dari skrip Anda sendiri, maka Anda harus menentukan argumen.

MSBuild dan /maxcpucount:[n]

Secara default tugas build seperti MSBuild dan Visual Studio Build menjalankan MSBuild dengan sakelar /m. Dalam beberapa kasus, ini dapat menyebabkan masalah seperti beberapa masalah akses file proses.

Coba tambahkan /m:1 argumen ke tugas build Anda untuk memaksa MSBuild menjalankan hanya satu proses sekaligus.

Masalah penggunaan file mungkin terjadi saat menggunakan fitur proses konkuren MSBuild. Tidak menentukan argumen /maxcpucount:[n] (bentuk /m:[n]pendek ) menginstruksikan MSBuild untuk menggunakan satu proses saja. Jika Anda menggunakan tugas MSBuild atau Visual Studio Build, Anda mungkin perlu menentukan "/m:1" untuk mengambil alih argumen "/m" yang ditambahkan secara default.

Kegagalan MSBuild berselang atau tidak konsisten

Jika Anda mengalami kegagalan MSBuild yang terputus-putus atau tidak konsisten, coba instruksikan MSBuild untuk menggunakan satu proses saja. Kesalahan terputus-terputus atau tidak konsisten mungkin menunjukkan bahwa konfigurasi target Anda tidak kompatibel dengan fitur proses bersamaan MSBuild. Lihat MSBuild dan /maxcpucount:[n].

Proses yang berhenti merespons

Proses berhenti merespons penyebab dan langkah-langkah pemecahan masalah:

Menunggu Masukan

Proses yang berhenti merespons mungkin menunjukkan bahwa proses sedang menunggu input.

Menjalankan agen dari baris perintah sesi aktif yang diakses secara interaktif dapat membantu mengidentifikasi apakah proses memunculkan dialog untuk meminta input.

Menjalankan agen sebagai layanan mungkin membantu mencegah program meminta input. Misalnya dalam .NET, program mungkin mengandalkan Boolean System.Environment.UserInteractive untuk menentukan apakah akan meminta prompt. Ketika agen berjalan sebagai layanan Windows, nilainya adalah false.

Proses pencadangan

Menganalisis dump memori dari proses dapat membantu mengidentifikasi apa yang ditunggu oleh proses yang mengalami kebuntuan.

Proyek WiX

Membangun proyek WiX ketika pencatat MSBuild kustom diaktifkan, dapat mengakibatkan WiX mengalami kebuntuan saat menunggu pada aliran keluaran. Menambahkan argumen tambahan /p:RunWixToolsOutOfProc=true MSBuild mengatasi masalah ini.

Penanda akhiran baris untuk beberapa platform

Saat Anda menjalankan pipeline di beberapa platform, Anda terkadang dapat mengalami masalah dengan akhiran baris yang berbeda. Secara historis, Linux dan macOS menggunakan karakter linefeed (LF), sedangkan Windows menggunakan carriage return ditambah linefeed (CRLF). Git mencoba mengimbangi perbedaan dengan secara otomatis membuat baris berakhiran LF di repositori tetapi CRLF di direktori kerja pada Windows.

Sebagian besar alat Windows baik-baik saja dengan akhiran hanya LF, dan perilaku otomatis ini dapat menyebabkan masalah yang lebih banyak daripada menyelesaikannya. Jika Anda mengalami masalah berdasarkan akhiran baris, kami sarankan Anda mengonfigurasi Git untuk lebih memilih LF di mana saja. Untuk melakukan ini, tambahkan .gitattributes file ke akar repositori Anda. Dalam file tersebut, tambahkan baris berikut:

* text eol=lf

Variabel yang memiliki ' (tanda kutip tunggal) ditambahkan

Jika alur Anda menyertakan skrip Bash yang mengatur variabel menggunakan ##vso perintah , Anda mungkin melihat yang lain ' ditambahkan ke nilai variabel yang Anda tetapkan. Ini terjadi karena interaksi dengan set -x. Solusinya adalah menonaktifkan set -x sementara sebelum mengatur variabel. Sintaksis Bash untuk melakukan itu adalah set +x.

set +x
echo ##vso[task.setvariable variable=MY_VAR]my_value
set -x

Mengapa hal ini terjadi?

Banyak skrip Bash menyertakan perintah set -x untuk membantu pemecahan masalah. Bash melacak dengan tepat perintah apa yang dijalankan dan menggemakannya ke stdout. Hal ini menyebabkan agen melihat perintah ##vso dua kali, dan pada kali kedua, Bash akan menambahkan karakter di ' akhir.

Misalnya, pertimbangkan alur ini:

steps:
- bash: |
    set -x
    echo ##vso[task.setvariable variable=MY_VAR]my_value

Pada stdout, agen melihat dua baris:

##vso[task.setvariable variable=MY_VAR]my_value
+ echo '##vso[task.setvariable variable=MY_VAR]my_value'

Ketika agen melihat baris pertama, MY_VAR akan diatur ke nilai yang benar, "my_value". Namun, ketika melihat baris kedua, agen memproses semuanya hingga akhir baris. MY_VAR diatur ke "my_value'".

Library tidak diinstal untuk aplikasi Python saat skrip dijalankan

Ketika aplikasi Python disebarkan, dalam beberapa kasus, alur CI/CD berjalan dan kode berhasil disebarkan, tetapi file requirements.txt yang bertanggung jawab untuk menginstal semua pustaka dependensi tidak dijalankan.

Untuk menginstal dependensi, gunakan skrip pasca-penyebaran dalam tugas penyebaran App Service. Contoh berikut menunjukkan perintah yang harus Anda gunakan dalam skrip pasca-penyebaran. Anda dapat memperbarui skrip untuk skenario Anda.

D:\home\python364x64\python.exe -m pip install -r requirements.txt

Untuk memecahkan masalah yang terkait dengan koneksi layanan, lihat Pemecahan masalah koneksi layanan. Untuk memecahkan masalah koneksi layanan secara khusus menggunakan identitas beban kerja untuk autentikasi, lihat Memecahkan masalah koneksi layanan identitas beban kerja.

Jika alur yang sebelumnya berfungsi sekarang gagal saat mencoba menggunakan koneksi layanan, periksa apakah Azure Pipelines menonaktifkan koneksi setelah 100 hari tidak aktif. Untuk mengatasi masalah:

  1. Buka Pengaturan Proyek>Koneksi Layanan.
  2. Buka koneksi layanan yang digunakan oleh tugas yang gagal.
  3. Tinjau tab Gambaran Umum dan Riwayat penggunaan untuk mengonfirmasi bahwa koneksi dinonaktifkan dan tentukan kapan terakhir kali digunakan.
  4. Jika Anda masih memerlukan koneksi, pilih Tindakan> lainnyaAktifkan.
  5. Jalankan pipeline lagi. Jika autentikasi masih gagal, pastikan bahwa kredensial eksternal atau identitas pendukung masih valid.

Log audit mencatat tindakan penonaktifan dan pengaktifan.

Alur berhenti mendengar dari agen

Jika alur Anda gagal dengan pesan seperti We stopped hearing from agent <agent name>. Verify the agent machine is running and has a healthy network connection., periksa pemanfaatan sumber daya agen untuk melihat apakah mesin agen kehabisan sumber daya. Dimulai dengan Sprint 228, log Azure Pipelines berisi metrik pemanfaatan sumber daya untuk setiap langkah.

Saat menggunakan Azure DevOps Services, Anda dapat melihat pemanfaatan sumber daya di log, termasuk penggunaan disk, penggunaan memori, dan pemanfaatan CPU, dengan mengaktifkan log verbose. Ketika alur selesai, cari log untuk Agent environment resources entri untuk setiap langkah.

2024-02-28T17:41:15.1315148Z ##[debug]Agent environment resources - Disk: D:\ Available 12342.00 MB out of 14333.00 MB, Memory: Used 1907.00 MB out of 7167.00 MB, CPU: Usage 17.23%

Untuk informasi tentang menangkap log pemanfaatan sumber daya tambahan, lihat Menangkap detail pemanfaatan sumber daya.

Aktifkan Storage Explorer untuk menyebarkan konten statis seperti .css dan .js ke situs web statis dari Azure DevOps melalui Azure Pipelines

Dalam skenario ini, Anda dapat menggunakan tugas Azure File Copy untuk mengunggah konten ke situs web. Anda dapat menggunakan salah satu alat yang dijelaskan dalam Mengunggah konten untuk mengunggah konten ke kontainer web.

Menggunakan AI untuk memecahkan masalah eksekusi alur

Jika Anda menyambungkan Azure DevOps MCP Server ke agen AI Anda dalam mode agen, Anda dapat menggunakan perintah bahasa alami untuk menyelidiki eksekusi yang gagal, detail log permukaan, dan menyarankan perbaikan untuk masalah alur umum.

Tugas Contoh tanggapan
Mendiagnosis kegagalan eksekusi Get the most recent failed run for the <Contoso-CI> pipeline and summarize the root cause from the logs
Menemukan log tugas yang gagal Show me the failing task in build <12345> and include the surrounding 50 lines of log output
Bandingkan dengan keberhasilan terakhir Compare the failing run of <Contoso-CI> with the last successful run and tell me what changed
Selidiki tes yang tidak konsisten List tests that failed intermittently across the last 10 runs of the <Contoso-CI> pipeline
Tangani kesalahan izin Build <12345> failed with a resource authorization error. Identify which resource needs approval and how to grant it
Menganalisis masalah agen Check the agent that ran build <12345> for capacity, capability, and connectivity problems
Menyelidiki batas waktu Find jobs in the <Contoso-CI> pipeline that exceeded their timeout in the past week and show their durations
Tampilkan pola kegagalan umum Cluster the failure messages from the last 20 failed runs of <Contoso-CI> and rank the top causes
Menyarankan perbaikan YAML Read the failing job in build <12345> and propose a YAML change that resolves the error
Periksa kesehatan koneksi layanan List service connections used by <Contoso-CI> and flag any that are expired or about to expire

Nota

Mode agen dan Server MCP menggunakan bahasa alami, sehingga Anda dapat menyesuaikan perintah ini atau mengajukan pertanyaan tindak lanjut untuk memperbaiki hasilnya.