Penilaian Modernisasi Aplikasi Pusat Migrasi (codmod
) adalah alat yang didukung AI yang mengotomatiskan proses penilaian modernisasi untuk aplikasi Anda. Halaman ini menguraikan langkah-langkah untuk menginstal, menggunakan, dan memecahkan masalah alat codmod
.
Tentang Penilaian Modernisasi Aplikasi
Proses penilaian modernisasi yang umum memerlukan waktu beberapa minggu dan memerlukan banyak keahlian. Dengan mengotomatiskan proses ini, alat codmod
secara signifikan
mengurangi waktu ini menjadi beberapa jam.
Alat ini bertujuan untuk memberikan informasi berbasis bukti tentang arsitektur, fungsi, dan potensi penghambat aplikasi saat ini yang dapat memperlambat transformasi ke cloud.
Alat ini ditujukan untuk peran berikut:
- Arsitek IT
- Pengambil keputusan
- Pemilik aplikasi
Alat codmod
bertujuan untuk mempercepat transformasi aplikasi dengan memberikan visibilitas yang jelas ke dalam perubahan yang diperlukan, dan manfaat yang diperoleh dari mentransformasi aplikasi ke Google Cloud. codmod
adalah alat CLI portabel yang menggunakan Gemini untuk menganalisis kode sumber dan memberikan rekomendasi berdasarkan praktik terbaik Google Cloud .
Sebelum memulai
Alat codmod
memerlukan prasyarat berikut:
- Workstation Linux atau Windows (10 atau yang lebih baru).
- Akses ke project yang telah mengaktifkan Vertex AI API. Google Cloud
- Penginstalan gcloud CLI di workstation Anda. Untuk mengetahui informasi selengkapnya, lihat Menginstal gcloud CLI.
Harga
Biaya penggunaan Gemini untuk penilaian kode terutama didasarkan pada ukuran codebase, dan diukur dalam token. Tabel berikut menunjukkan perkiraan biaya yang mungkin Anda lihat berdasarkan baris kode dan model yang Anda pilih:
Codebase | Baris Kode (LOC) | Estimasi Biaya | |||
---|---|---|---|---|---|
adaptif | 2.0-flash | 2.5-pro (default) | 2.5-flash | ||
Spring Petclinic | ~6.500 | $20 | $2 | $30 | $4 |
James Project | ~1.000.000 | $60 | $30 | $500 | $40 |
Elasticsearch | ~5.000.000 | $200 | $200 | $3.000 | $200 |
Nilai ini mungkin terlalu tinggi karena tidak memperhitungkan kemungkinan penghematan karena hal berikut:
- Harga yang lebih rendah untuk kueri singkat.
- Harga yang lebih rendah untuk penyimpanan cache implisit.
- Diskon abonemen (CUD).
Biaya untuk parameter ini diperkirakan akan menjadi bagian yang tidak signifikan dari total biaya, terutama untuk codebase yang lebih besar. Untuk mengetahui informasi tambahan, lihat Harga Gemini API.
Informasi tambahan
Alat ini menggunakan kemampuan analisis dan pemahaman kode tingkat lanjut dari Vertex AI API. Untuk mengetahui informasi selengkapnya tentang model yang tersedia dan fiturnya, lihat Model Google dalam dokumentasi Vertex AI API.
Untuk mempertahankan performa yang optimal dan efisiensi biaya, codmod
memiliki batas ukuran codebase
sekitar 6 juta baris kode.
Untuk codebase yang melebihi batas ini, sebaiknya bagi codebase menjadi bagian-bagian yang lebih kecil dan mudah dikelola untuk dianalisis. Menganalisis bagian yang lebih kecil juga dapat membantu penilaian yang lebih terfokus dan berpotensi mengurangi waktu pemrosesan secara keseluruhan.
Siapkan codmod
Bagian ini memberikan petunjuk penginstalan dan autentikasi untuk menggunakan alat codmod
.
Instal codmod
Windows
Jalankan perintah berikut di Windows PowerShell untuk mendownload versi terbaru codmod
:
$version=curl.exe -s https://codmod-release.storage.googleapis.com/latest
curl.exe -O "https://codmod-release.storage.googleapis.com/${version}/windows/amd64/codmod.exe"
Linux
Jalankan perintah berikut untuk mendownload versi terbaru codmod
:
version=$(curl -s https://codmod-release.storage.googleapis.com/latest)
curl -O "https://codmod-release.storage.googleapis.com/${version}/linux/amd64/codmod"
chmod +x codmod
Melakukan autentikasi ke Google Cloud
Untuk menggunakan alat codmod
, Anda memerlukan project Google Cloud .
Pastikan Vertex AI API diaktifkan di project di konsol atau menggunakan CLI:
gcloud services enable aiplatform.googleapis.com --project <project-id>
Pastikan Anda memiliki peran
roles/aiplatform.user
atau yang serupa di project.Untuk melakukan autentikasi, jalankan perintah berikut:
gcloud auth application-default login
Atau, Anda dapat menggunakan akun layanan dan menetapkan
variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS
. Untuk mempelajari lebih lanjut, lihat
Cara kerja Kredensial Default Aplikasi.
Mengelola konfigurasi codmod
Bagian berikut menjelaskan cara mengonfigurasi codmod
dengan perintah
codmod config
.
Mencantumkan semua setelan
Untuk melihat semua properti konfigurasi saat ini dan nilainya, jalankan perintah berikut:
codmod config list
Menetapkan nilai default untuk tanda
Untuk menetapkan nilai default properti, gunakan perintah set
. Misalnya,
untuk menetapkan project ID default, jalankan:
codmod config set project "PROJECT_ID"
Ganti PROJECT_ID
dengan ID project Google Cloud .
Untuk menetapkan region default, jalankan:
codmod config set region "REGION"
Ganti REGION
dengan region Google Cloud . Lihat daftar region yang tersedia.
Jika Anda tidak yakin region mana yang akan digunakan, gunakan us-central1
.
Mendapatkan nilai tertentu
Untuk melihat nilai satu properti, gunakan perintah get
. Misalnya,
untuk mendapatkan project ID yang dikonfigurasi, jalankan perintah berikut:
codmod config get project
Membatalkan setelan nilai default
Untuk menghapus default yang dikonfigurasi dan mengembalikan ke setelan default
alat, gunakan perintah unset
. Misalnya, untuk menghapus ID project default, jalankan perintah berikut:
codmod config unset project
Membuat laporan penilaian codmod
Bagian berikut menjelaskan cara membuat penilaian default dan cara menyesuaikannya sesuai kebutuhan Anda.
Membuat laporan default
Untuk membuat laporan penilaian, jalankan alat codmod
dengan tanda
berikut:
codmod create -c "CODEBASE" -o "OUTPUT"
Ganti kode berikut:
CODEBASE
: menentukan direktori yang berisi kode sumber yang akan dianalisis, dan dapat ditentukan beberapa kali.OUTPUT
: menentukan jalur tempat laporan yang dihasilkan disimpan. Laporan ini dalam format HTML.
Anda dapat mengganti project dan region default dengan flag
-p "PROJECT_ID"
dan -r "REGION"
.
Anda juga dapat menentukan flag opsional berikut:
--modelset [2.0-flash|2.5-flash|2.5-pro|adaptive]
: menentukan model Gemini yang akan digunakan. Nilai defaultnya adalah2.5-pro
. Adaptif memberikan pengurangan biaya yang signifikan dengan potensi penurunan kualitas laporan dibandingkan dengan2.5-pro
.--context <string>
: konteks tambahan yang ingin Anda berikan tentang project. Alat ini mempertimbangkan konteks ini saat membuat laporan.--context-file <path>
: sama dengan--context
jika konteksnya disediakan dalam file tertentu.--format <html|markdown|odt|json>
: format yang digunakan untuk laporan yang dibuat. Defaultnya adalah HTML.--allow-large-codebase
: secara default,codmod
akan meminta konfirmasi sebelum menganalisis codebase yang lebih besar dari 1 juta baris kode - untuk menghindari biaya yang tinggi. Opsi ini berfungsi sebagai konfirmasi non-interaktif. Anda juga dapat mengaktifkannya secara default dengan menjalankancodmod config set allow_large_codebase true
.--improve-fidelity
: jika disetel,codmod
akan membuat bagian secara berurutan dan bukan secara paralel. Hal ini meningkatkan konsistensi antara berbagai bagian laporan akhir, tetapi memerlukan waktu proses yang lebih lama.--force-include <strings>
,--force-exclude <strings>
: secara default,codmod
memindai ekstensi file populer termasuk Java, .NET, dan Python. Gunakan tanda ini untuk menyertakan atau mengecualikan ekstensi file. Argumen harus berupa ekspresi reguler dengan sintaksis RE2.--experiments
: tentukan--experiments=enable_pdf,enable_images
untuk mendukung PDF dan gambar dicodmod
.
Membuat laporan lengkap
Jika Anda memerlukan analisis lengkap, buat laporan menggunakan perintah create full
:
codmod create full -c "~/mycodebase/" -o "report.html"
Membuat laporan yang berfokus pada lapisan data
Jika diperlukan perhatian yang lebih mendalam pada lapisan data, laporan dapat dibuat dengan fokus pada area ini:
codmod create data-layer -c "CODEBASE" -o "OUTPUT"
Membuat laporan untuk maksud transformasi tertentu
Jika ingin memfokuskan laporan pada maksud modernisasi tertentu, Anda dapat menggunakan salah satu maksud yang didukung berikut:
- Transformasi Beban Kerja Microsoft (
MICROSOFT_MODERNIZATION
): Gunakan dengan aplikasi yang berjalan di Microsoft OS, penilaian akan berfokus pada perjalanan transformasi yang akan memodernisasi framework berbasis .NET untuk menggunakan versi terbaru dan mengurangi dependensi pada lisensi Microsoft. - Transformasi Beban Kerja Cloud ke Cloud (
CLOUD_TO_CLOUD
): Gunakan dengan aplikasi yang berjalan di infrastruktur hyperscaler lain. Penilaian akan berfokus pada perubahan yang direkomendasikan untuk mengubah aplikasi, seperti memetakan layanan vendor cloud lain ke layananGoogle Cloud . - Transformasi Java Lama (
JAVA_LEGACY_TO_MODERN
): Gunakan dengan aplikasi yang menjalankan Java versi Java 8 atau yang serupa, penilaian akan berfokus pada penemuan dependensi upgrade dan area dalam kode yang terpengaruh dari perubahan ke Java 21 (LTS saat ini). - Transformasi WILDFLY Java Lama (
WILDFLY_LEGACY_TO_MODERN
): Gunakan dengan codebase Java EE/Jakarta EE yang berjalan di server aplikasi WildFly versi sebelum yang terbaru. Penilaian akan berfokus pada mengidentifikasi dependensi upgrade dan area dalam kode yang terpengaruh oleh upgrade versi server aplikasi WildFly, termasuk perubahan yang diperlukan untuk perbedaan dan kompatibilitas API.
Untuk membuat laporan yang berfokus pada niat, gunakan tanda --intent
:
codmod create -c "CODEBASE" -o "OUTPUT" --intent "INTENT"
Membuat laporan dengan bagian tambahan
Alat ini mendukung penyertaan bagian tambahan yang tidak disertakan secara default untuk mengurangi biaya. Bagian berikut didukung:
files
: Tampilan hierarkis terstruktur dari folder project dan deskripsi per konten setiap folder untuk membantu Anda memahami file project.classes
: Katalog class kode dengan informasi tentang setiap class dan dependensinya pada class lain. Bahasa yang didukung adalah Java dan C#.
Untuk membuat bagian tambahan, gunakan flag --optional-sections
:
codmod create -c "CODEBASE" -o "OUTPUT" --optional-sections "SECTIONS"
Ganti SECTIONS
dengan daftar nilai yang dipisahkan koma.
Membuat laporan kustom
Jika ingin menjelajahi beberapa topik kustom tertentu, Anda dapat membuat laporan kustom berdasarkan konteks yang Anda berikan menggunakan perintah berikut:
codmod create custom -c "CODEBASE" -o "OUTPUT" --context "CONTEXT"
Secara default, LLM digunakan untuk memperluas konteks yang diberikan dan
menyesuaikannya untuk memastikan bagian yang koheren dihasilkan. Anda dapat menonaktifkan
perilaku ini dengan menentukan --improve-context=false
.
Flag tambahan:
--from-template <path>
: menentukan file template yang menentukan struktur dokumen dalam format file PDF atau teks.codmod
mendeteksi struktur dan meminta persetujuan untuk melanjutkan pembuatan laporan.--skip-template-approval
: melewati permintaan persetujuan saat menggunakan flag--from-template
.
Mengubah laporan yang ada
Anda dapat membuat bagian baru dalam laporan atau mengubah bagian yang ada berdasarkan bagian tertentu. Misalnya, Anda mungkin ingin berfokus pada aspek tertentu dari arsitektur sistem, atau jenis kerentanan keamanan tertentu.
Perintah yang mengubah laporan akan memerlukan flag berikut:
- Salah satu dari
--context
dan--context-file
: tentukan permintaan modifikasi. --from-report
: menentukan jalur untuk file laporan yang ada.--from-section
: nama bagian yang akan digunakan sebagai dasar untuk bagian baru (misalnya, Ringkasan, Arsitektur).
Untuk menampilkan semua bagian yang tersedia dalam laporan tertentu, jalankan perintah berikut:
codmod list-sections --from-report "REPORT"
Merevisi bagian laporan
Ubah bagian yang ada dengan menjalankan perintah berikut:
codmod revise section -c "CODEBASE" --from-report "REPORT" \
-o "REVISED_REPORT" --from-section "SECTION_NAME" \
--context "CONTEXT"
Membuat bagian laporan baru
Buat bagian baru menggunakan perintah berikut:
codmod create section -c "CODEBASE" --from-report "REPORT" \
-o "REGENERATED_REPORT" --from-section "SECTION_NAME" \
--context "CONTEXT"
- Flag
from-section
dalam perintahcreate section
bersifat opsional. - Secara default, LLM digunakan untuk memperluas konteks yang diberikan dan
menyesuaikannya untuk memastikan bagian yang koheren dihasilkan. Anda dapat menonaktifkan
perilaku ini dengan menentukan
--improve-context=false
.
Perhatikan hal berikut:
create section
danrevise section
hanya mendukung format laporanhtml
.create section
,revise section
,list-sections
mengharapkan flag--from-report
menunjuk ke laporan dalam format HTML.
Estimasi biaya penilaian
Alat codmod
membantu Anda memahami biaya penggunaan alat dengan memungkinkan Anda menghitung perkiraan biaya pembuatan laporan. Untuk melihat perkiraan biaya, jalankan perintah berikut:
codmod create --estimate-cost -c "CODEBASE"
Estimasi biaya tidak didukung untuk perintah create section
dan create custom
.
Menetapkan tingkat verbositas
Keberagaman codmod
dikonfigurasi menggunakan
flag --verbosity LEVEL
.
Level kejelasan log adalah salah satu dari berikut ini: debug
, info
,
warn
, error
, atau none
. Nilai defaultnya adalah warn
.
Pemecahan masalah
- Izin ditolak: jika Anda mengalami error "izin ditolak", pastikan Anda memberikan izin eksekusi ke biner
codmod
dengan menjalankan perintahchmod +x codmod
. - CLI tampak berhenti berfungsi: analisis dapat memerlukan waktu yang lama, tetapi Anda biasanya dapat melihat progres di status progres di CLI. Jika status progres tetap 0% setelah 15 menit, verifikasi bahwa Anda memiliki kuota yang cukup untuk model yang relevan. Secara default,
codmod
menggunakan modelgemini-2.5-pro
. Namun, hal ini dapat berubah karena set model yang berbeda menggunakan model yang berbeda untuk tujuan yang berbeda. Melaporkan error: jika terjadi error yang perlu diselidiki, kumpulkan informasi debug untuk membantu tim pengembangan kami. Log memberikan detail penting untuk pemecahan masalah. Jalankan perintah berikut untuk mengumpulkan log, lalu kompresi dan bagikan arsip yang dihasilkan kepada tim di codmod-feedback-external@google.com.
codmod collect-logs -o "codmod_logs.zip"
Lisensi open source
Anda dapat mendownload pemberitahuan open source untuk dependensi versi terbaru
codmod
dengan menjalankan:
version=$(curl -s https://codmod-release.storage.googleapis.com/latest)
curl -O "https://codmod-release.storage.googleapis.com/${version}/THIRD_PARTY_NOTICES.txt"
Mendapatkan dukungan dan memberikan masukan
Untuk membantu meningkatkan kualitas produk ini, kami mengumpulkan data penggunaan yang dipseudoanonimkan. Data ini ditangani sesuai dengan kebijakan privasi kami Google Cloud Pemberitahuan Privasi. Anda dapat mengubah preferensi Anda kapan saja dengan menjalankan perintah berikut:
codmod config set disable_usage_reporting true
Anda bisa mendapatkan dukungan dan memberikan masukan dengan cara berikut:
- Untuk mendapatkan dukungan terkait
codmod
, klik tombol Dukungan dalam laporan HTML yang dibuat, atau kirim email ke codmod-feedback-external@google.com. - Untuk memberikan masukan tentang
codmod
, klik tombol Masukan di laporan HTML yang dihasilkan.