Bagikan melalui


Perubahan pada pemberian gratis Azure Pipelines

Kami sementara mengubah proses untuk memperoleh hibah gratis Azure Pipelines untuk mengatasi meningkatnya penyalahgunaan agen yang dihosting. Secara default, organisasi baru yang dibuat di Azure DevOps mungkin tidak lagi mendapatkan pemberian gratis alur bersamaan. Pengguna baru harus mengirim email dan memberikan informasi tambahan untuk mendapatkan CI/CD gratis.

Lihat daftar Fitur di bawah ini untuk detailnya.

Azure Pipelines

Azure Repos

Azure Pipelines

Perubahan pada pemberian gratis Azure Pipelines

Azure Pipelines telah menawarkan CI/CD gratis untuk proyek publik dan privat selama beberapa tahun. Karena jumlah ini untuk memberikan komputasi gratis, itu selalu menjadi target untuk penyalahgunaan - terutama penambangan kripto. Meminimalkan penyalahgunaan ini selalu mengambil energi dari tim. Selama beberapa bulan terakhir, situasinya semakin buruk secara substansial, dengan persentase proyek baru yang tinggi di Azure DevOps digunakan untuk penambangan kripto dan aktivitas lain yang kami klasifikasikan sebagai kasar. Beberapa insiden layanan selama sebulan terakhir disebabkan oleh penyalahgunaan ini yang mengakibatkan waktu tunggu yang lama untuk pelanggan yang ada.

Untuk mengatasi situasi ini, kami telah menambahkan langkah tambahan bagi organisasi baru di Azure DevOps untuk mendapatkan hibah gratis mereka. Perubahan berikut ini segera efektif:

  • Secara default, organisasi baru yang dibuat di Azure DevOps tidak akan lagi mendapatkan pemberian gratis alur bersamaan. Ini berlaku untuk proyek publik maupun privat di organisasi baru.
  • Untuk meminta pemberian gratis Anda, kirim permintaan dan berikan detail berikut dengan jelas:
    • Nama Anda
    • Organisasi Azure DevOps tempat Anda meminta pemberian gratis
    • Apakah Anda memerlukan pemberian gratis untuk proyek publik atau proyek privat
    • Tautan ke repositori yang Anda rencanakan untuk dibangun (hanya proyek publik)
    • Deskripsi singkat proyek Anda (hanya proyek publik)

Kami akan meninjau permintaan Anda dan merespons dalam beberapa hari.

Catatan

Perubahan ini hanya berdampak pada organisasi baru. Ini tidak berlaku untuk proyek atau organisasi yang ada. Ini tidak mengubah jumlah pemberian gratis yang bisa Anda dapatkan. Ini hanya menambahkan langkah tambahan untuk mendapatkan hibah gratis itu.

Kami mohon maaf atas ketidaknyamanan yang mungkin menyebabkan pelanggan baru ingin menggunakan Azure Pipelines untuk CI/CD. Kami percaya bahwa hal ini diperlukan untuk terus memberikan layanan tingkat tinggi kepada semua pelanggan kami. Kami akan terus mengeksplorasi cara otomatis untuk mencegah penyalahgunaan dan akan memulihkan model sebelumnya setelah kami memiliki mekanisme yang dapat diandalkan untuk mencegah penyalahgunaan.

Penghapusan kebijakan retensi per alur dalam build klasik

Anda sekarang dapat mengonfigurasi kebijakan retensi untuk build klasik dan alur YAML di pengaturan proyek Azure DevOps. Meskipun ini adalah satu-satunya cara untuk mengonfigurasi retensi untuk alur YAML, Anda juga dapat mengonfigurasi retensi untuk alur build klasik berdasarkan per alur. Kami akan menghapus semua aturan retensi per alur untuk alur build klasik dalam rilis mendatang.

Apa artinya ini bagi Anda: alur build klasik apa pun yang masih memiliki aturan retensi per alur akan segera diatur oleh aturan retensi tingkat proyek.

Untuk membantu Anda mengidentifikasi alur ini, kami meluncurkan perubahan dalam rilis ini untuk menampilkan banner di bagian atas halaman daftar eksekusi.

Membangun penyempurnaan retensi

Sebaiknya perbarui alur Anda dengan menghapus aturan retensi per alur. Jika alur Anda secara khusus memerlukan aturan kustom, Anda dapat menggunakan tugas kustom di alur Anda. Untuk informasi tentang menambahkan sewa retensi melalui tugas, lihat dokumentasi kebijakan retensi yang ditetapkan untuk build, rilis, dan pengujian.

Kontrol baru untuk variabel lingkungan dalam alur

Agen Azure Pipelines memindai output standar untuk perintah pengelogan khusus dan menjalankannya. Perintah setVariable dapat digunakan untuk mengatur variabel atau memodifikasi variabel yang ditentukan sebelumnya. Ini berpotensi dieksploitasi oleh aktor di luar sistem. Misalnya, jika alur Anda memiliki langkah yang mencetak daftar file di server ftp, maka seseorang dengan akses ke server ftp dapat menambahkan file baru, yang namanya berisi setVariable perintah dan menyebabkan alur mengubah perilakunya.

Kami memiliki banyak pengguna yang mengandalkan pengaturan variabel menggunakan perintah pengelogan di alur mereka. Dengan rilis ini, kami membuat perubahan berikut untuk mengurangi risiko penggunaan perintah yang setVariable tidak diinginkan.

  • Kami telah menambahkan konstruksi baru untuk penulis tugas. Dengan menyertakan cuplikan seperti berikut ini di task.json, penulis tugas dapat mengontrol apakah ada variabel yang diatur oleh tugas mereka.
{
    "restrictions": {
        "commands": {
            "mode": "restricted"
        },
        "settableVariables": {
            "allowed": [
                "myVar",
                "otherVar"
            ]
        }
    },
}​ 
  • Selain itu, kami memperbarui sejumlah tugas bawaan seperti ssh sehingga tidak dapat dieksploitasi.

  • Terakhir, Anda sekarang dapat menggunakan konstruksi YAML untuk mengontrol apakah langkah dapat mengatur variabel.

steps:
- script: echo hello
  target:
    settableVariables: none
steps:
- script: echo hello
  target:
    settableVariables:
    - things
    - stuff

Menghasilkan token tidak terbatas untuk build fork

Pengguna GitHub biasanya menggunakan fork untuk berkontribusi pada repositori hulu. Ketika Azure Pipelines membangun kontribusi dari fork repositori GitHub, Azure Pipelines membatasi izin yang diberikan ke token akses pekerjaan dan tidak mengizinkan rahasia alur diakses oleh pekerjaan tersebut. Anda dapat menemukan informasi selengkapnya tentang keamanan membangun fork dalam dokumentasi kami.

Pembatasan yang sama berlaku secara default saat membangun fork repositori GitHub Enterprise Server. Ini mungkin lebih ketat daripada yang diinginkan di lingkungan tertutup seperti itu, di mana pengguna mungkin masih mendapat manfaat dari model kolaborasi sumber dalam. Meskipun Anda dapat mengonfigurasi pengaturan dalam alur untuk membuat rahasia tersedia untuk fork, tidak ada pengaturan untuk mengontrol cakupan token akses pekerjaan. Dengan rilis ini, kami memberi Anda kontrol untuk menghasilkan token akses pekerjaan reguler bahkan untuk build fork.

Anda dapat mengubah pengaturan ini dari Pemicu di editor alur. Sebelum mengubah pengaturan ini, pastikan Anda sepenuhnya memahami implikasi keamanan untuk mengaktifkan konfigurasi ini.

Menghasilkan token tidak terbatas untuk build fork

Perubahan modul Az, Azure, dan Azure RM yang telah diinstal sebelumnya

Kami memperbarui proses pra-instal modul Az, Azure, dan AzureRM ke gambar yang dihosting Ubuntu dan Windows untuk dukungan yang lebih efisien dan penggunaan ruang gambar.

Selama minggu 29 Maret, semua versi, kecuali yang terbaru dan yang paling populer, akan disimpan sebagai arsip dan akan diekstraksi oleh tugas Azure PowerShell sesuai permintaan. Daftar terperinci perubahan di bawah ini:

  1. Windows gambar

    • Semua versi modul Az kecuali yang terbaru (saat ini, 5.5.0) akan diarsipkan

    • Semua modul Azure kecuali yang terbaru (saat ini, 5.3.0) dan 2.1.0 akan diarsipkan

    • Semua modul AzureRM kecuali yang terbaru (saat ini, 6.13.1) dan 2.1.0 akan diarsipkan

  2. Gambar Ubuntu

    • Semua modul Az kecuali yang terbaru (saat ini, 5.5.0) akan diarsipkan atau dihapus sepenuhnya dari gambar, dan akan diinstal oleh tugas sesuai permintaan.

Setiap alur yang menggunakan tugas Azure dalam kotak pada agen yang dihosting akan berfungsi seperti yang dimaksudkan dan tidak akan memerlukan pembaruan. Jika Anda tidak menggunakan tugas-tugas ini, alihkan alur Anda ke menggunakan tugas Azure PowerShell untuk menghindari perubahan pada modul yang telah diinstal sebelumnya.

Catatan

Pembaruan ini tidak akan memengaruhi alur yang berjalan pada agen yang dihost sendiri.

Azure Repos

Menonaktifkan repositori

Pelanggan sering meminta cara untuk menonaktifkan repositori dan mencegah pengguna mengakses kontennya. Misalnya, Anda mungkin ingin melakukan ini saat:

  • Anda menemukan rahasia di repositori.
  • Alat pemindaian pihak ketiga menemukan repositori tidak patuh.

Dalam kasus seperti itu, Anda mungkin ingin menonaktifkan repositori untuk sementara waktu saat Anda bekerja untuk mengatasi masalah tersebut. Dengan pembaruan ini, Anda dapat menonaktifkan repositori jika Anda memiliki izin Hapus repositori . Dengan menonaktifkan repositori, Anda:

  • Dapat mencantumkan repositori dalam daftar repositori
  • Tidak dapat membaca isi repositori
  • Tidak dapat memperbarui isi repositori
  • Lihat pesan bahwa repositori telah dinonaktifkan saat mereka mencoba mengakses repositori di antarmuka pengguna Azure Repos

Setelah langkah-langkah mitigasi yang diperlukan diambil, pengguna dengan izin Repositori Hapus dapat mengaktifkan kembali repositori. Untuk menonaktifkan atau mengaktifkan repositori, buka Pengaturan Proyek, pilih Repositori, lalu repositori tertentu.

Menonaktifkan repositori

Langkah berikutnya

Catatan

Fitur-fitur ini akan diluncurkan selama dua hingga tiga minggu ke depan.

Buka Azure DevOps dan lihat.

Cara memberikan umpan balik

Kami akan senang mendengar apa yang Anda pikirkan tentang fitur-fitur ini. Gunakan menu bantuan untuk melaporkan masalah atau memberikan saran.

Buat saran

Anda juga bisa mendapatkan saran dan pertanyaan yang dijawab oleh komunitas di Stack Overflow.

Terima kasih,

Vijay Machiraju