Agen yang dihosting oleh Microsoft

Layanan Azure DevOps

Agen yang dihosting Microsoft hanya tersedia dengan Layanan Azure DevOps, yang dihosting di cloud. Anda tidak dapat menggunakan agen yang dihosting Microsoft atau kumpulan agen Azure Pipelines dengan Azure DevOps Server lokal. Dengan versi lokal ini, Anda harus menggunakan agen yang dihost sendiri.

Penting

Pilih versi dari pemilih Versi Konten Azure DevOps.

Pilih versi artikel ini yang sesuai dengan platform dan versi Anda. Pemilih versi berada di atas daftar isi. Cari platform dan versi Azure DevOps Anda.

Jika alur Anda berada di Azure Pipelines, Anda dapat menjalankan pekerjaan dengan mudah menggunakan agen yang dihosting Microsoft. Dengan agen yang dihosting Microsoft, pemeliharaan dan peningkatan terjadi secara otomatis.

Anda selalu memiliki versi terbaru citra VM yang Anda tentukan dalam pipeline Anda. Setiap kali Anda menjalankan pipeline, Anda mendapatkan mesin virtual baru untuk setiap tugas di pipeline. Komputer virtual dibuang setelah satu pekerjaan. Setiap perubahan yang dilakukan pekerjaan pada sistem file komputer virtual, seperti memeriksa kode, tidak tersedia pada pekerjaan berikutnya.

Agen yang dihosting Microsoft dapat menjalankan pekerjaan langsung di VM atau dalam kontainer.

Azure Pipelines menyediakan kumpulan agen yang telah ditentukan sebelumnya bernama Azure Pipelines dengan agen yang dihosting Microsoft.

Bagi banyak tim, proses ini adalah cara paling sederhana untuk menjalankan pekerjaan Anda. Anda dapat mencobanya terlebih dahulu untuk melihat apakah itu berfungsi untuk pembangunan atau penyebaran Anda. Jika tidak, Anda dapat menggunakan agen Virtual Machine Scale Sets atau agen yang dihost sendiri.

Petunjuk

Anda dapat mencoba agen yang dihosting Microsoft tanpa biaya.

Perangkat lunak

Kumpulan agen Azure Pipelines menawarkan beberapa gambar komputer virtual untuk dipilih, masing-masing termasuk berbagai alat dan perangkat lunak. Anda dapat melihat perangkat lunak yang diinstal untuk setiap gambar dengan memilih tautan Perangkat lunak yang Disertakan dalam tabel berikut. Untuk informasi selengkapnya tentang siklus hidup perangkat lunak dan jadwal penghentian gambar dan perangkat lunak, lihat Gambar Runner Tindakan GitHub - Dukungan Perangkat Lunak dan Gambar dan jadwal penghentian gambar yang dihosting Microsoft.

Anda dapat melihat perangkat lunak yang diinstal untuk setiap citra agen yang di-host di Windows dengan memilih tautan Perangkat lunak yang tertera di dalam tabel.

Gambar Spesifikasi Agen Editor Klasik Label Gambar YAML untuk VM Perangkat lunak yang disertakan
Windows Server 2025 dengan Visual Studio 2026 windows-2025-vs2026 windows-2025-vs2026 Tautan
Windows Server 2025 dengan Visual Studio 2022 windows-2025 windows-latest ATAU windows-2025 Tautan
Windows Server 2022 dengan Visual Studio 2022 windows-2022 windows-2022 Tautan

Windows Server 2025 dengan Visual Studio 2026

Catatan

Gambar Windows Server 2025 dengan Visual Studio 2026 umumnya tersedia. Image khusus ini hadir berdampingan dengan image Windows Server 2025 dengan Visual Studio 2022. Untuk menggunakan gambar Visual Studio 2026, tentukan windows-2025-vs2026 dalam konfigurasi alur Anda.

Dalam beberapa minggu mendatang, windows-latest label akan menunjuk ke windows-2025-vs2026, dan windows-2025 gambar juga akan mulai menggunakan Visual Studio 2026. Kami sangat menyarankan agar Anda menguji alur Anda dengan gambar windows-2025-vs2026 sebelum perubahan ini diluncurkan.

Pembaruan citra Windows

Penting

Untuk meminta perangkat lunak ditambahkan ke agen yang dihosting Microsoft, jangan buat permintaan umpan balik pada dokumen ini atau buka tiket dukungan. Sebagai gantinya, buka masalah di repositori kami, di mana kami mengelola skrip untuk menghasilkan berbagai gambar.

Menggunakan agen yang dihosting Microsoft

Di pipeline YAML, jika Anda tidak menentukan kumpulan, pipeline secara default diarahkan ke kumpulan agen di Azure Pipelines. Anda hanya perlu menentukan gambar komputer virtual mana yang ingin Anda gunakan.

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: echo hello from Linux
- job: macOS
  pool:
    vmImage: 'macOS-latest'
  steps:
  - script: echo hello from macOS
- job: Windows
  pool:
    vmImage: 'windows-latest'
  steps:
  - script: echo hello from Windows

Catatan

Spesifikasi kumpulan dapat dilakukan pada beberapa tingkat dalam file YAML. Jika Anda melihat bahwa alur Anda tidak berjalan pada gambar yang diharapkan, pastikan Anda memverifikasi spesifikasi kumpulan di tingkat alur, tahap, dan pekerjaan.

Hindari referensi yang dikodekan secara permanen

Saat Anda menggunakan agen yang dihosting Microsoft, selalu gunakan variabel untuk merujuk ke lingkungan build dan sumber daya agen. Misalnya, jangan mengunci secara permanen huruf drive atau folder yang berisi repositori. Tata letak yang tepat dari agen yang dihosting dapat berubah tanpa peringatan.

Perangkat Keras

Agen yang dihosting Microsoft yang menjalankan image Windows dan Linux disediakan pada mesin virtual tujuan umum Azure dengan CPU 2-core, RAM 7 GB, dan ruang disk SSD 14 GB. Komputer virtual ini terletak di geografi yang sama dengan organisasi Azure DevOps Anda.

Agen yang menjalankan gambar macOS berjalan di Mac pro dengan CPU 3-core, RAM 14 GB, dan ruang disk SSD 14 GB, kecuali gambar macOS 15 Sequoia ARM64 yang berjalan pada perangkat keras Apple Silicon dengan 3 core, RAM 7 GB, dan ruang disk SSD 14 GB. Agen-agen ini selalu berjalan di AS terlepas dari lokasi organisasi Azure DevOps Anda.

Semua mesin ini memiliki setidaknya 10 GB ruang disk kosong yang tersedia agar pipeline Anda dapat dijalankan. Ruang kosong ini digunakan ketika pipeline Anda memeriksa kode sumber, mengunduh paket, menarik gambar docker, atau menghasilkan file perantara.

Penting

Kami tidak dapat mematuhi permintaan untuk meningkatkan ruang disk pada agen yang dihosting Microsoft, atau untuk menyediakan komputer yang lebih kuat. Jika spesifikasi agen yang dihosting Microsoft tidak memenuhi kebutuhan Anda, maka Anda harus mempertimbangkan agen yang dihosting sendiri atau agen set skala atau Pool DevOps yang Dikelola.

Jaringan

Dalam beberapa penyiapan, Anda mungkin perlu mengetahui rentang alamat IP tempat agen disebarkan. Misalnya, jika Anda perlu memberikan akses agen yang di-host melalui firewall, Anda mungkin ingin membatasi akses tersebut dengan alamat IP. Karena Azure DevOps menggunakan jaringan global Azure, rentang IP bervariasi dari waktu ke waktu. Microsoft menerbitkan file JSON mingguan yang mencantumkan rentang IP untuk pusat data Azure, yang dipecah berdasarkan wilayah. File ini diperbarui setiap minggu dengan rentang IP terencana baru. Hanya versi terbaru file yang tersedia untuk diunduh. Jika perlu versi sebelumnya, Anda harus mengunduh dan mengarsipkannya setiap minggu saat tersedia. Rentang IP baru mulai berlaku pada minggu berikutnya. Sebaiknya periksa kembali sesering mungkin (setidaknya sekali setiap minggu) untuk memastikan Anda memiliki daftar terbaru. Jika tugas agen mulai gagal, langkah pemecahan masalah utama pertama adalah memastikan konfigurasi Anda cocok dengan daftar alamat IP terbaru. Rentang alamat IP untuk agen yang dihosting tercantum dalam file mingguan di bawah AzureCloud.<region>, seperti AzureCloud.westus untuk wilayah Barat AS.

Agen yang dihosting berjalan dalam geografi Azure yang sama dengan organisasi Anda. Agen yang dihosting dapat dijalankan di wilayah mana pun yang dipetakan ke wilayah geografis Anda, seperti yang ditunjukkan dalam tabel Wilayah di setiap geografi, dan selalu mematuhi persyaratan residensi data. Meskipun agen Anda mungkin berjalan di wilayah yang sama dengan organisasi Anda, hal itu tidak dijamin. Untuk mendapatkan daftar lengkap kemungkinan rentang IP untuk agen Anda, izinkan daftar rentang IP untuk semua wilayah yang dipetakan ke geografi Anda dalam tabel, bukan hanya wilayah organisasi Anda.

Catatan

Agen yang menjalankan gambar macOS selalu berjalan di AS terlepas dari lokasi organisasi Azure DevOps Anda.

Untuk menentukan geografi Anda, buka https://dev.azure.com/<your_organization>/_settings/organizationOverview dan catat wilayah organisasi Anda. Temukan geografi yang berisi wilayah tersebut di Wilayah di setiap tabel geografi . Kemudian gunakan rentang IP dari berkas mingguan untuk setiap kawasan yang tercantum untuk wilayah geografis tersebut.

Penting

Anda tidak dapat menggunakan koneksi privat seperti ExpressRoute atau VPN untuk menyambungkan agen yang dihosting Microsoft ke jaringan perusahaan Anda. Lalu lintas antara agen yang di-host Microsoft dan server Anda akan melalui jaringan publik.

Wilayah di setiap geografi

Agen yang dihosting Microsoft dapat berjalan di wilayah mana pun yang dipetakan ke wilayah geografis organisasi Anda, dan selalu mematuhi persyaratan residensi data. Karena agen Anda dapat berjalan di salah satu wilayah ini, izinkan daftar rentang IP untuk setiap wilayah yang dipetakan ke geografi Anda. Tabel berikut mencantumkan wilayah ini.

Catatan

Organisasi di Uni Eropa selalu dilayani agen dari wilayah dalam batas residensi data Uni Eropa.

Geografi Regions
Asia Pasifik Asia Timur, Asia Tenggara
Australia Australia Timur, Australia Tenggara, Australia Tengah
Canada Kanada Tengah, Kanada Timur
Eropa Eropa Barat, Eropa Utara, Prancis Tengah, Swedia Tengah, Polandia Tengah, Spanyol Tengah, Austria Timur, Belgia Tengah
India India Tengah, India Selatan, India Barat
Inggris Raya UK Selatan, UK Barat
Amerika Serikat US Tengah, AS Timur, US Timur 2, US Tengah Utara, US Tengah Selatan, US Tengah Barat, AS Barat, US Barat 2, AS Barat 3

Untuk mengidentifikasi kemungkinan rentang IP untuk agen yang dihosting Microsoft

  1. Identifikasi wilayah untuk organisasi Anda di pengaturan Organisasi.
  2. Temukan geografi yang berisi wilayah organisasi Anda di Wilayah di setiap tabel geografi .
  3. Untuk setiap wilayah dalam geografi Anda, temukan entrinya dalam file mingguan dengan nama AzureCloud.<region>, di mana <region> adalah nama wilayah dalam huruf kecil dengan spasi dihapus. Misalnya, AS Barat adalah AzureCloud.westus dan Prancis Tengah adalah AzureCloud.francecentral.
  4. Ambil alamat IP untuk semua wilayah dalam geografi Anda dari file mingguan. Jika wilayah Anda adalah Brasil Selatan, sertakan rentang IP tambahan berdasarkan geografi fallback Anda, seperti yang dijelaskan dalam catatan berikut.

Catatan

Karena pembatasan kapasitas, beberapa organisasi di wilayah Brasil Selatan terkadang mungkin melihat agen yang dihosting yang terletak di luar geografi yang diharapkan. Dalam kasus ini, selain menyertakan rentang IP untuk semua wilayah dalam geografi Anda seperti yang dijelaskan di bagian sebelumnya, sertakan juga rentang IP untuk wilayah di geografi pencadangan kapasitas.

Jika organisasi Anda berada di wilayah Brasil Selatan , geografi fallback kapasitas Anda adalah Amerika Serikat, dan Anda harus menyertakan rentang IP untuk semua wilayah di geografi Amerika Serikat selain rentang IP untuk semua wilayah di geografi Brasil Selatan .

Rentang IP Mac kami tidak disertakan dalam IP Azure di atas, karena dihosting di cloud macOS GitHub. Anda dapat mengambil rentang IP dengan menggunakan API metadata GitHub dan mengikuti instruksi yang disediakan di sini.

Contoh

Dalam contoh berikut, rentang alamat IP agen yang dihosting untuk organisasi di wilayah AS Barat diambil dari berkas mingguan. Karena wilayah AS Barat berada dalam geografi Amerika Serikat, alamat IP untuk semua wilayah dalam geografi Amerika Serikat disertakan. Dalam contoh ini, alamat IP ditulis ke konsol.

using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace WeeklyFileIPRanges
{
    class Program
    {
        // Path to the locally saved weekly file
        const string weeklyFilePath = @"C:\MyPath\ServiceTags_Public_20230904.json";

        static void Main(string[] args)
        {
            // United States geography has the following regions:
            // Central US, East US, East US 2, North Central US, South Central US,
            // West Central US, West US, West US 2, West US 3
            // For the current list of regions in each geography, see the
            // "Regions in each geography" table earlier in this article.
            List<string> USGeographyRegions = new List<string>
            {
                "centralus",
                "eastus",
                "eastus2",
                "northcentralus",
                "southcentralus",
                "westcentralus",
                "westus",
                "westus2",
                "westus3"
            };

            // Load the weekly file
            JObject weeklyFile = JObject.Parse(File.ReadAllText(weeklyFilePath));
            JArray values = (JArray)weeklyFile["values"];

            foreach (string region in USGeographyRegions)
            {
                string tag = $"AzureCloud.{region}";
                Console.WriteLine(tag);

                var ipList =
                    from v in values
                    where tag.Equals((string)v["name"], StringComparison.OrdinalIgnoreCase)
                    select v["properties"]["addressPrefixes"];

                foreach (var ip in ipList.Children())
                {
                    Console.WriteLine(ip);
                }
            }
        }
    }
}

Tag layanan

Agen yang dihosting Microsoft tidak dapat dicantumkan menurut tag layanan. Jika Anda mencoba memberikan agen yang dihosting akses ke sumber daya Anda, Anda harus mengikuti metode daftar izin rentang IP.

Keamanan

Agen yang dihosting Microsoft berjalan di platform Azure yang aman. Namun, Anda harus mengetahui pertimbangan keamanan berikut.

  • Meskipun agen yang dihosting Microsoft berjalan di jaringan publik Azure, agen tersebut tidak diberi alamat IP publik. Jadi, entitas eksternal tidak dapat menargetkan agen yang dihosting Microsoft.
  • Agen yang dihosting Microsoft dijalankan di masing-masing VM, yang digambarkan ulang setelah setiap eksekusi. Setiap agen didedikasikan untuk satu organisasi, dan setiap VM hanya menghosting satu agen.
  • Ada beberapa manfaat untuk menjalankan pipeline Anda di agen yang dihosting oleh Microsoft, dari perspektif keamanan. Jika Anda menjalankan kode yang tidak tepercaya di alur Anda, seperti kontribusi dari fork, akan lebih aman untuk menjalankan alur tersebut pada agen yang dihosting oleh Microsoft daripada pada agen yang dihosting sendiri yang berada di jaringan perusahaan Anda.
  • Ketika pipeline perlu mengakses sumber daya perusahaan Anda yang berada di belakang firewall, Anda harus mengizinkan rentang alamat IP untuk wilayah Azure. Ini dapat meningkatkan paparan Anda karena rentang alamat IP agak besar dan karena mesin dalam rentang ini juga dapat menjadi milik pelanggan lain. Cara terbaik untuk mencegah hal ini adalah dengan menghindari kebutuhan untuk mengakses sumber daya internal. Untuk informasi tentang menyebarkan artefak ke sekumpulan server, lihat Komunikasi untuk menyebarkan artefak ke server target.
  • Gambar yang dihosting tidak sesuai dengan tolak ukur penguatan CIS. Untuk menggunakan citra CIS yang diperkuat, Anda harus membuat agen yang dihost sendiri, agen setelan skala, atau pool DevOps terkelola.

Kemampuan dan batasan

Agen yang dihosting Microsoft:

  • Memiliki perangkat lunak yang disebutkan di atas. Anda juga dapat menambahkan perangkat lunak selama build atau rilis menggunakan tugas alat penginstal.
    • Anda mendapatkan agen yang baru diimajinasikan untuk setiap tugas di jalur kerja Anda.
  • Menyediakan penyimpanan 10 GB untuk sumber dan output build Anda.
  • Sediakan tingkatan gratis
    • Proyek privat: Satu pekerjaan paralel gratis yang dapat berjalan hingga 60 menit setiap kali, hingga Anda menggunakan 1.800 menit (30 jam) per bulan. Untuk informasi selengkapnya, lihat Bagaimana cara memenuhi syarat untuk tingkat gratis pekerjaan paralel. Anda dapat membayar kapasitas tambahan untuk setiap pekerjaan paralel. Pekerjaan paralel berbayar menghapus batas waktu bulanan dan memungkinkan Anda menjalankan setiap pekerjaan hingga 360 menit (6 jam). Beli pekerjaan paralel yang dihosting Microsoft.
    • Proyek publik dihentikan. Anda tidak dapat lagi membuat proyek publik baru. Proyek publik yang ada mempertahankan pemberian paralelisme gratis mereka saat ini sampai mereka mengonversi ke privat pada tahun 2027.
  • Jalankan pada mesin virtual tujuan umum Microsoft Azure Standard_DS2_v2.
  • Jalankan sebagai administrator di Windows dan pengguna sudo tanpa kata sandi di Linux.
  • (Linux saja) Jalankan langkah-langkah pada cgroup yang menawarkan 6 GB memori fisik dan 13 GB memori total.
  • Gunakan gambar VM yang diperbarui secara berkala (setiap tiga minggu).

Agen yang dihosting Microsoft tidak menawarkan:

  • Kemampuan untuk terhubung dari jarak jauh.
  • Kemampuan untuk menjatuhkan artefak ke berbagi berkas UNC.
  • Kemampuan untuk menghubungkan mesin langsung ke jaringan perusahaan Anda.
  • Kemampuan untuk mengembangkan mesin pembangunan yang lebih besar atau lebih kuat.
  • Kemampuan untuk pramuat perangkat lunak kustom. Anda dapat menginstal perangkat lunak selama eksekusi alur, seperti melalui tugas alat penginstal atau dalam skrip.
  • Potensi keuntungan kinerja yang mungkin Anda dapatkan dengan menggunakan agen yang di-host secara mandiri, yang dapat memulai dan menjalankan build lebih cepat. Pelajari lebih lanjut
  • Kemampuan menjalankan XAML builds.
  • Kemampuan untuk mengembalikan ke versi gambar VM sebelumnya. Anda selalu menggunakan versi terbaru.

Jika agen yang dihosting Microsoft tidak memenuhi kebutuhan Anda, maka Anda dapat menyebarkan agen yang dihost sendiri atau menggunakan agen set skala atau kumpulan DevOps Terkelola .

FAQ

Bagaimana cara melihat perangkat lunak apa yang disertakan dalam gambar?

Anda dapat melihat perangkat lunak yang diinstal untuk setiap agen yang dihosting dengan memilih tautan Perangkat Lunak yang Disertakan dalam tabel Perangkat Lunak.

Catatan

Secara default, agen Windows menggunakan versi Git yang dibundel dengan perangkat lunak agen. Microsoft merekomendasikan penggunaan versi Git yang dibundel dengan agen, tetapi Anda memiliki beberapa opsi untuk mengambil alih perilaku default ini dan menggunakan versi Git yang telah diinstal mesin agen di jalur.

Untuk melihat versi Git yang digunakan oleh pipeline, Anda dapat melihat log untuk checkout tahap di pipeline Anda, seperti yang ditunjukkan dalam contoh berikut.

Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1

Bagaimana Microsoft memilih perangkat lunak dan versi yang akan diletakkan pada gambar?

Informasi selengkapnya tentang versi perangkat lunak yang disertakan pada gambar dapat ditemukan di Panduan untuk apa yang diinstal.

Kapan gambar diperbarui?

Gambar biasanya diperbarui setiap minggu. Anda dapat memeriksa lencana status yang dalam format 20200113.x di mana bagian pertama menunjukkan tanggal gambar diperbarui.

Apa yang dapat saya lakukan jika perangkat lunak yang saya butuhkan dihapus atau diganti dengan versi yang lebih baru?

Anda dapat memberi tahu kami dengan mengajukan masalah GitHub dengan memilih tautan Perangkat Lunak yang Disertakan dalam tabel Gunakan agen yang di-hosting Microsoft.

Anda juga dapat menggunakan agen yang dihost sendiri yang menyertakan versi perangkat lunak yang tepat yang Anda butuhkan. Untuk informasi selengkapnya, lihat agen yang di-host sendiri.

Bagaimana jika saya membutuhkan mesin yang lebih besar dengan lebih banyak daya pemrosesan, memori, atau ruang disk?

Kami tidak dapat meningkatkan memori, daya pemrosesan, atau ruang disk untuk agen yang dihosting Microsoft, tetapi Anda dapat menggunakan agen yang dihosting GitHub, agen yang dihosting sendiri, agen kumpulan skala, atau Managed DevOps Pools yang dihosting pada komputer dengan spesifikasi yang Anda inginkan.

Saya tidak dapat memilih agen yang di-host oleh Microsoft, dan saya tidak dapat mengantrekan build atau penyebaran saya. Apa yang harus saya lakukan?

Agen yang dihosting Microsoft hanya tersedia di Azure Pipelines dan bukan di Azure DevOps Server.

Secara default, semua kontributor proyek dalam organisasi memiliki akses ke agen yang dihosting Microsoft. Namun, administrator organisasi Anda dapat membatasi akses agen yang dihosting Microsoft untuk memilih pengguna atau proyek. Minta pemilik organisasi Azure DevOps Anda untuk memberi Anda izin untuk menggunakan agen yang dihosting Microsoft. Lihat keamanan kumpulan agen.

Pipeline saya yang berjalan di agen yang dihosting Microsoft membutuhkan waktu lebih lama untuk selesai. Bagaimana cara saya mempercepatnya?

Jika pipeline Anda baru-baru ini menjadi lebih lambat, tinjau halaman status kami untuk mengetahui setiap gangguan. Kami mungkin mengalami masalah terkait layanan kami. Atau, tinjau perubahan apa pun yang Anda buat dalam kode aplikasi atau alur Anda. Ukuran repositori Anda selama check-out mungkin telah meningkat, Anda mungkin mengunggah artefak yang lebih besar, atau Anda mungkin menjalankan lebih banyak pengujian.

Jika Anda hanya menyiapkan alur dan membandingkan performa agen yang dihosting Microsoft dengan komputer lokal atau agen yang dihosting sendiri, perhatikan spesifikasi perangkat keras yang kami gunakan untuk menjalankan pekerjaan Anda. Kami tidak dapat memberi Anda mesin yang lebih besar atau kuat. Anda dapat mempertimbangkan untuk menggunakan agen yang dihost sendiri atau agen set skala atau Kumpulan DevOps Terkelola jika performa ini tidak dapat diterima.

Aku butuh lebih banyak agen. Apa yang bisa saya lakukan?

Semua organisasi Azure DevOps mendapatkan satu pekerjaan paralel gratis dan 1.800 menit gratis (30 jam) setiap bulan untuk proyek privat saat organisasi ditautkan ke langganan Azure yang valid. Jika Anda membutuhkan lebih banyak menit atau pekerjaan paralel untuk proyek privat Anda, beli lebih banyak.

Alur saya berhasil pada agen yang di-host sendiri, tetapi gagal pada agen yang di-host oleh Microsoft. Apa yang harus saya lakukan?

Agen yang dihost sendiri mungkin memiliki semua dependensi yang tepat yang terinstal di dalamnya, sedangkan dependensi, alat, dan perangkat lunak yang sama tidak diinstal pada agen yang dihosting Microsoft. Pertama, tinjau dengan cermat daftar perangkat lunak yang diinstal pada agen yang dihosting Microsoft dengan mengikuti tautan ke Perangkat lunak yang disertakan dalam tabel di atas. Kemudian, bandingkan dengan perangkat lunak yang terinstal pada agen yang dihosting sendiri. Dalam beberapa kasus, agen yang dihosting Microsoft mungkin memiliki alat yang Anda butuhkan (misalnya, Visual Studio), tetapi semua komponen opsional yang diperlukan mungkin belum diinstal. Jika Anda menemukan perbedaan, maka Anda memiliki dua opsi:

  • Anda dapat membuat masalah baru di repositori, di mana kami melacak permintaan untuk perangkat lunak tambahan. Menghubungi dukungan tidak dapat membantu Anda dalam menyiapkan perangkat lunak baru pada agen yang di-hosting oleh Microsoft.

  • Anda dapat menggunakan agen yang dihost sendiri, agen penetapan skala, atau Kumpulan DevOps Terkelola. Dengan agen ini, Anda sepenuhnya memegang kendali atas citra yang digunakan untuk menjalankan jalur pemrosesan Anda.

Build saya berhasil di komputer lokal saya, tetapi gagal pada agen yang dihosting Microsoft. Apa yang harus saya lakukan?

Komputer lokal Anda mungkin memiliki semua dependensi yang tepat yang terinstal di dalamnya, sedangkan dependensi, alat, dan perangkat lunak yang sama tidak diinstal pada agen yang dihosting Microsoft. Pertama, tinjau dengan cermat daftar perangkat lunak yang diinstal pada agen yang dihosting Microsoft dengan mengikuti tautan ke Perangkat lunak yang disertakan dalam tabel di atas. Kemudian, bandingkan dengan perangkat lunak yang diinstal pada komputer lokal Anda. Dalam beberapa kasus, agen yang dihosting Microsoft mungkin memiliki alat yang Anda butuhkan (misalnya, Visual Studio), tetapi semua komponen opsional yang diperlukan mungkin belum diinstal. Jika Anda menemukan perbedaan, maka Anda memiliki dua opsi:

  • Anda dapat membuat masalah baru di repositori, di mana kami melacak permintaan untuk perangkat lunak tambahan. Ini adalah taruhan terbaik Anda untuk menginstal perangkat lunak baru. Menghubungi dukungan tidak akan membantu Anda menyiapkan perangkat lunak baru di agen yang dihosting Microsoft.

  • Anda dapat menggunakan agen yang dihost sendiri, agen penetapan skala, atau Kumpulan DevOps Terkelola. Dengan agen ini, Anda sepenuhnya memegang kendali atas citra yang digunakan untuk menjalankan jalur pemrosesan Anda.

Alur saya gagal dengan kesalahan: "tidak ada ruang yang tersisa di perangkat".

Agen yang dihosting Microsoft hanya memiliki 10 GB ruang disk yang tersedia untuk menjalankan pekerjaan Anda. Ruang ini digunakan saat Anda memeriksa kode sumber, saat Anda mengunduh paket, saat Anda mengunduh gambar docker, atau saat Anda menghasilkan file perantara. Sayangnya, kami tidak dapat meningkatkan ruang kosong yang tersedia pada gambar yang dihosting Microsoft. Anda dapat merestrukturisasi alur kerja Anda sehingga dapat masuk ke ruang ini. Atau, Anda dapat mempertimbangkan untuk menggunakan agen yang di-host sendiri atau agen set skala atau kumpulan DevOps terkelola .

Alur saya yang berjalan di agen yang dihosting Microsoft memerlukan akses ke server di jaringan perusahaan kami. Bagaimana cara mendapatkan daftar alamat IP untuk diizinkan di firewall kami?

Lihat bagian Rentang IP agen

Jalur otomatisasi kami yang dijalankan oleh agen yang dihosting Microsoft tidak dapat mengidentifikasi nama server di jaringan perusahaan kami. Bagaimana kita bisa memperbaikinya?

Jika Anda merujuk ke server dengan nama DNS-nya, pastikan server Anda dapat diakses secara publik di Internet melalui nama DNS-nya. Jika Anda merujuk ke server Anda dengan alamat IP-nya, pastikan alamat IP dapat diakses secara publik di Internet. Dalam kedua kasus, pastikan bahwa firewall di antara agen dan jaringan perusahaan Anda mengizinkan rentang IP agen.

Saya mendapatkan kesalahan otorisasi IP SAS dari akun Azure Storage

Jika Anda mendapatkan kode kesalahan SAS, kemungkinan besar hal ini disebabkan oleh rentang alamat IP dari agen yang dihosting oleh Microsoft yang tidak diizinkan oleh aturan Azure Storage Anda. Ada beberapa solusinya:

  1. Kelola aturan jaringan IP untuk akun Azure Storage Anda dan tambahkan rentang alamat IP untuk agen yang dihosting.
  2. Di alur Anda, gunakan Azure CLI untuk memperbarui set aturan jaringan untuk akun Azure Storage Anda tepat sebelum Anda mengakses penyimpanan, lalu pulihkan set aturan sebelumnya.
  3. Gunakan agen yang dihost sendiri, agen set Skala, atau kumpulan DevOps Terkelola.

Bagaimana cara memilih versi alat secara manual di agen macOS yang Di-host?

Xcode

Jika Anda menggunakan tugas Xcode yang disertakan dengan Azure Pipelines dan Azure DevOps Server, Anda dapat memilih versi Xcode di properti tugas tersebut. Jika tidak, untuk mengatur versi Xcode secara manual untuk digunakan pada gambar macOS, sebelum tugas build Andaxcodebuild, jalankan baris perintah ini sebagai bagian dari proses build Anda, dan ganti nomor versi Xcode 13.2 sesuai kebutuhan.

/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"

Versi Xcode pada gambar macOS dapat ditemukan di sini.

Mono

Untuk memilih versi Mono secara manual untuk digunakan pada gambar macOS (kecuali gambar ARM64 yang tidak mendukung mono), jalankan skrip ini di setiap pekerjaan build Anda sebelum tugas build Mono Anda, tentukan symlink dengan versi Mono yang diperlukan:

SYMLINK=<symlink>
MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK
echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH"