Bagikan melalui


Menyiapkan infrastruktur dan menyebarkan aplikasi dengan agen modernisasi GitHub Copilot

Agen modernisasi GitHub Copilot mendukung provisi infrastruktur, kontainerisasi, dan penyebaran. Kemampuan ini mengikuti model rencana membuat → rencana menjalankan yang digunakan di seluruh agen.

Alur kerja terdiri dari dua fase:

  1. Persiapan infrastruktur: Menghasilkan dan menyediakan infrastruktur Azure.
  2. Kontainerisasi dan penyebaran: Kontainerisasi dan sebarkan aplikasi.

Nota

Kedua fase ini bersifat independen. Anda dapat menjalankannya bersama-sama atau menggunakan setiap fase secara terpisah. Misalnya, lewati persiapan infrastruktur jika Anda sudah memiliki lingkungan yang disediakan, atau siapkan infrastruktur sekarang dan sebarkan nanti.

Prasyarat

  • Langganan Azure: Langganan Azure aktif untuk provisi infrastruktur.
  • Modernisasi CLI: Ikuti panduan cepat untuk menginstal dan mengautentikasi.

Fase 1: Persiapan infrastruktur

Agen modernisasi membuat rencana untuk menyediakan infrastruktur Azure berdasarkan input yang Anda berikan. Kemampuan ini mencakup kemampuan untuk merancang zona pendaratan Azure yang disesuaikan dengan aplikasi Anda, mencakup jaringan, identitas, tata kelola, dan fondasi keamanan.

Masukan

Agen dapat menggunakan berbagai input untuk menginformasikan rencana infrastruktur:

  • Kode sumber aplikasi: Analisis basis kode untuk menentukan tumpukan teknologi, dependensi, dan persyaratan sumber daya.
  • Laporan penilaian: Laporan dari modernize assess, Azure Migrate, atau alat migrasi dan penilaian lainnya.
  • Diagram arsitektur: Diagram arsitektur pramigrasi atau dokumen desain di repositori.
  • Persyaratan kepatuhan dan keamanan: Kebijakan organisasi, standar keamanan, atau pedoman zona pendaratan, disediakan sebagai dokumen di repositori atau sebagai bahasa alami dalam permintaan Anda.

Membuat rencana infrastruktur

Gunakan modernize plan create dengan permintaan yang menjelaskan kebutuhan infrastruktur Anda:

modernize plan create "help create azure infrastructure for my app" --plan-name infra-setup

Agen menghasilkan rencana yang menyertakan arsitektur Azure yang diusulkan dan daftar sumber daya terperinci yang akan disediakan. Secara default, paket mencakup pembuatan file IaC dan provisi sumber daya. Anda hanya dapat meminta pembuatan file IaC melalui perintah Anda.

Petunjuk / Saran

Gabungkan input dan preferensi yang berbeda dalam perintah Anda. Contohnya:

  • "create an Azure landing zone tailored to my application's architecture and requirements"
  • "create azure infrastructure based on the assessment report, following our compliance policies in docs/security-requirements.md"
  • "generate Bicep files for the target architecture in the design doc, don't provision yet"
  • "provision azure resources based on the architecture diagram and assessment findings"

Tinjau rencana

Tinjau file output sebelum eksekusi:

  • File rencana (.github/modernize/infra-setup/plan.md): Strategi infrastruktur dan arsitektur yang diusulkan.
  • Daftar tugas (.github/modernize/infra-setup/tasks.json): Tugas tertentu yang dilakukan agen.

Anda dapat mengedit kedua file untuk menyesuaikan konfigurasi sumber daya atau memodifikasi pendekatan sebelum eksekusi.

Jalankan rencana infrastruktur

Jalankan rencana:

modernize plan execute --plan-name infra-setup

Memverifikasi infrastruktur

Tinjau kode infrastruktur yang dihasilkan dan konfirmasi sumber daya Azure melalui portal Microsoft Azure atau Azure CLI:

git status
git diff main

Fase 2: Kontainerisasi dan penyebaran

Gunakan rencana kedua untuk mengkontainerisasi aplikasi Anda dan menerapkannya.

Nota

Fase ini memerlukan kode sumber aplikasi yang sudah Anda migrasikan atau tingkatkan. Selesaikan modernisasi kode Anda sebelum melanjutkan kontainerisasi dan penyebaran.

Membuat rencana penyebaran

modernize plan create "containerize and deploy my app to azure, subscription: <sub-id>, resource group: <rg-name>" --plan-name deploy

Anda dapat mengontainerkan dan menerapkan berdampingan, atau menanganinya secara terpisah dengan rencana individual.

  • Kontainerisasi: Menghasilkan Dockerfile untuk proyek Anda dan memvalidasi build gambar kontainer.
  • Penyebaran: Membuat semua file konfigurasi dan manifes yang diperlukan berdasarkan layanan hosting Azure target, menyebarkan aplikasi, dan menghasilkan skrip penyebaran yang dapat digunakan kembali untuk digunakan di masa mendatang.

Petunjuk / Saran

Sesuaikan perintah agar sesuai dengan kebutuhan Anda:

  • "containerize my app and create dockerfile": hanya melakukan kontainerisasi, tanpa melakukan penyebaran.
  • "deploy my app to the AKS cluster in subscription: <sub-id>, resource group: <rg-name>": sebarkan aplikasi yang sudah dikontainerisasi.

Tinjau rencana

Tinjau file rencana yang dihasilkan:

  • File rencana (.github/modernize/deploy/plan.md): Strategi kontainerisasi dan penyebaran.
  • Daftar tugas (.github/modernize/deploy/tasks.json): Tugas penyebaran tertentu.

Jalankan rencana penyebaran

modernize plan execute --plan-name deploy

Verifikasi proses penyebaran

  1. Meninjau perubahan kode: Periksa Dockerfile yang dihasilkan, manifes penyebaran, dan perubahan konfigurasi.

    git status
    git diff main
    
  2. Validasi aplikasi yang sedang berjalan: Akses aplikasi yang Anda sebarkan melalui URL yang disediakan oleh layanan hosting target.

Menggunakan mode interaktif

Anda juga dapat melakukan kedua fase melalui TUI interaktif dengan menjalankan modernize dan memilih Buat rencana modernisasi dari menu.

Langkah berikutnya