Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Alat Solution Packager dapat digunakan dengan sistem kontrol sumber apa pun. Setelah file solusi .zip diekstrak ke folder, tambahkan dan kirimkan file ke sistem kontrol sumber Anda. File ini kemudian dapat disinkronisasikan pada komputer lain di mana mereka dapat dikemas ke dalam file solusi .zip identik yang baru.
Aspek penting saat menggunakan file komponen yang diekstrak dalam kontrol sumber adalah bahwa menambahkan semua file ke dalam kontrol sumber dapat menyebabkan duplikasi yang tidak perlu. Buka Solution Component File Reference untuk menemukan file mana yang dihasilkan untuk setiap jenis komponen dan file mana yang direkomendasikan untuk digunakan dalam pengendalian versi.
Karena penyesuaian dan perubahan lebih lanjut diperlukan untuk solusi, pengembang harus mengedit, atau menyesuaikan komponen melalui sarana yang ada, ekspor lagi untuk membuat file .zip, dan mengekstrak file solusi terkompresi ke dalam folder yang sama.
Penting
Kecuali untuk bagian yang dijelaskan dalam Kapan harus mengedit file penyesuaian, pengeditan manual file komponen yang diekstrak dan file .zip tidak mendukung.
Saat alat Solution Packager mengekstrak file komponen, alat ini tidak akan menimpa file komponen yang ada dengan nama yang sama jika konten file identik. Selain itu, alat ini menghormati atribut baca-saja pada file komponen yang menghasilkan peringatan di jendela konsol bahwa file tertentu tidak ditulis. Perlindungan ini memungkinkan pengguna untuk memeriksa, dari kontrol sumber, kumpulan file minimal yang berubah. Parameter /clobber dapat digunakan untuk menimpa dan menyebabkan file hanya baca untuk ditulis atau dihapus. Parameter /allowWrite dapat digunakan untuk menilai dampak operasi ekstrak tanpa benar-benar menyebabkan file ditulis atau dihapus. Penggunaan parameter /allowWrite dengan pencatatan log terperinci efektif.
Setelah operasi ekstrak selesai dengan kumpulan minimal file yang diperiksa dari kontrol sumber, pengembang dapat mengirimkan file yang diubah kembali ke kontrol sumber, seperti yang dilakukan dengan jenis file sumber lainnya.
Format file kontrol sumber
Alat Solution Packager mendukung dua format file untuk file komponen yang diekstrak. Memilih format yang tepat di muka menghindari harus memigrasikan struktur repositori Anda nanti.
| Format XML (warisan) | Format kontrol sumber YAML | |
|---|---|---|
| Dokumen solusi | Other\Solution.xml + Other\Customizations.xml |
solutions/<name>/solution.yml dan mendukung file YAML |
| Mudah dibaca | Verbose XML | Compact YAML — lebih mudah dibaca dan ditinjau |
| Kualitas diff dalam Git | Perbedaan besar XML | Perbedaan minimal dan terfokus |
| Repositori multi-solusi | Tidak didukung | Didukung — beberapa solusi berbagi satu folder |
| Aplikasi Kanvas (.msapp) | Tidak didukung | Dukungan |
| Alur modern | Tidak didukung | Dukungan |
| Integrasi Git asli | Tidak digunakan | Selalu digunakan — Integrasi Git selalu menulis YAML |
Kapan menggunakan format YAML: Untuk semua proyek baru, dan setiap kali Anda menggunakan integrasi Dataverse Git asli. Format YAML kompatibel maju dan menghasilkan riwayat perubahan yang lebih bersih.
Kapan menggunakan format XML: Hanya saat bekerja dengan repositori yang ada yang sudah menggunakan format XML, atau saat menggunakan alat warisan yang tidak mendukung YAML.
Nota
Saat Anda menerapkan solusi menggunakan integrasi Git asli di Power Apps, solusi tersebut selalu disimpan dalam format kontrol sumber YAML. Untuk mengemas atau membongkar sumber tersebut secara manual menggunakan SolutionPackager atau pac solution pack, folder harus mengikuti struktur folder YAML. Informasi selengkapnya: Alat SolutionPackager — Format file kontrol sumber
Pengembangan tim
Ketika ada beberapa pengembang yang mengerjakan komponen solusi yang sama, konflik mungkin muncul di mana perubahan dari dua pengembang menghasilkan perubahan pada satu file. Kejadian ini diminimalkan dengan mendekomposisi setiap komponen atau subkomponen yang dapat diedit secara individual ke dalam file yang berbeda. Pertimbangkan contoh berikut:
Pengembang A dan B keduanya mengerjakan solusi yang sama.
Pada komputer independen, keduanya mendapatkan sumber terbaru solusi dari kontrol sumber, paket, dan mengimpor file .zip solusi yang tidak terkelola ke dalam organisasi Microsoft Dataverse independen.
Pengembang A menyesuaikan tampilan sistem "Kontak Aktif" dan formulir utama untuk entitas Kontak.
Pengembang B menyesuaikan formulir utama untuk entitas Akun dan mengubah "Tampilan Pencarian Kontak".
Kedua pengembang mengekspor dan mengekstrak file .zip solusi yang tidak terkelola.
Pengembang A perlu memeriksa satu file untuk formulir utama Kontak, dan satu file untuk tampilan "Kontak Aktif".
Pengembang B perlu memeriksa satu file untuk formulir utama Akun, dan satu file untuk "Tampilan Pencarian Kontak".
Kedua pengembang dapat mengirimkan, dalam urutan apa pun, karena perubahan masing-masing menyentuh file terpisah.
Setelah kedua pengiriman selesai, mereka dapat mengulangi langkah #2 dan kemudian melanjutkan untuk membuat perubahan lebih lanjut dalam organisasi independen mereka. Masing-masing pengembang memiliki kedua set perubahan, tanpa menimpa pekerjaan mereka sendiri.
Contoh sebelumnya hanya berfungsi bila ada perubahan pada file terpisah. Tidak dapat dihindari bahwa penyesuaian independen memerlukan perubahan dalam satu file. Berdasarkan contoh yang ditampilkan sebelumnya, pertimbangkan bahwa pengembang B menyesuaikan tampilan "Kontak Aktif" saat pengembang A juga menyesuaikannya. Dalam contoh baru ini, urutan peristiwa menjadi penting. Proses yang benar untuk mendamaikan kesulitan ini, yang ditulis secara lengkap, dijelaskan di sini.
Pengembang A dan B keduanya mengerjakan solusi yang sama.
Pada komputer independen, mereka berdua mendapatkan sumber terbaru solusi dari kontrol sumber, paket, dan mengimpor file .zip solusi yang tidak terkelola ke dalam organisasi independen.
Pengembang A menyesuaikan tampilan sistem "Kontak Aktif" dan formulir utama untuk tabel Kontak.
Pengembang B menyesuaikan formulir utama untuk tabel Akun dan mengubah "Kontak Aktif".
Kedua pengembang mengekspor dan mengekstrak file .zip solusi yang tidak terkelola.
Pengembang A perlu memeriksa satu file untuk formulir utama Kontak, dan satu file untuk tampilan "Kontak Aktif".
Pengembang B perlu memeriksa satu file untuk formulir utama Akun, dan satu file untuk tampilan "Kontak Aktif".
Pengembang A siap terlebih dulu.
Sebelum pengembang A mengirimkan ke kontrol sumber, mereka harus mendapatkan sumber terbaru untuk memastikan tidak ada konflik Check-in sebelumnya dengan perubahannya.
Tidak ada konflik sehingga pengembang A dapat mengirimkan.
Pengembang B siap berikutnya setelah pengembang A.
Sebelum pengembang B melakukan pengiriman, ia harus mendapatkan sumber terbaru untuk memastikan tidak ada konflik check-in sebelumnya dengan perubahannya.
Ada konflik karena file untuk "Kontak Aktif" telah dimodifikasi sejak pengembang B terakhir kali mengambil sumber terbaru.
Pengembang B harus merekonsiliasi konflik. Ada kemungkinan kemampuan sistem kontrol sumber yang digunakan dapat membantu proses ini; jika tidak, pilihan berikut semuanya layak.
Pengembang B, melalui riwayat kontrol sumber, jika tersedia, dapat mengamati bahwa pengembang A membuat perubahan sebelumnya. Melalui komunikasi langsung mereka dapat mendiskusikan setiap perubahan. Kemudian pengembang B hanya perlu memperbarui organisasi dengan resolusi yang disepakati. Pengembang B kemudian mengekspor, mengekstrak, dan menimpa file yang berkonflik dan mengirimkannya.
Izinkan kontrol sumber untuk menimpa file lokal. Pengembang B mengemas solusi dan mengimpornya ke dalam organisasi mereka, lalu menilai status tampilan dan menyesuaikannya kembali sesuai kebutuhan. Selanjutnya, pengembang B dapat mengekspor, mengekstrak, dan menimpa file yang berkonflik.
Jika perubahan sebelumnya dianggap tidak perlu, pengembang B memungkinkan salinan file-nya untuk menimpa versi di kontrol sumber dan mengirimkannya.
Baik bekerja di lingkungan yang berbagi maupun yang independen, pengembangan solusi Dataverse oleh tim mengharuskan para anggota tim yang aktif bekerja pada solusi bersama untuk mengetahui pekerjaan anggota lain. Alat Solution Packager tidak sepenuhnya menghilangkan kebutuhan ini, tetapi memungkinkan penggabungan perubahan yang tidak bertentangan dengan mudah di tingkat kontrol sumber, dan secara proaktif menyoroti komponen ringkas di mana konflik muncul.
Bagian selanjutnya adalah proses umum untuk menggunakan alat Solution Packager secara efektif dalam kontrol sumber saat mengembangkan dengan tim. Ini bekerja sama dengan lingkungan independen atau lingkungan pengembangan bersama, meskipun dengan lingkungan bersama, ekspor dan ekstrak secara alami mencakup semua perubahan yang ada dalam solusi, bukan hanya yang dibuat oleh pengembang yang melakukan ekspor. Demikian pula, saat mengimpor file .zip solusi, perilaku alami untuk menimpa semua komponen akan terjadi.
Membuat solusi
Prosedur ini mengidentifikasi langkah-langkah umum yang digunakan saat Anda pertama kali membuat solusi.
Dalam lingkungan yang bersih dengan Dataverse, buat solusi, lalu tambahkan atau buat komponen sesuai kebutuhan.
Saat Anda siap untuk check-in, ikuti langkah-langkah berikut.
Ekspor solusi tak terkelola.
Dengan menggunakan alat Solution Packager, ekstrak solusi ke dalam file komponen.
Dari file komponen yang diekstrak tersebut, tambahkan file yang diperlukan ke kontrol sumber.
Kirim perubahan ini ke kontrol sumber.
Modifikasi solusi
Prosedur berikut mengidentifikasi langkah-langkah umum yang digunakan saat memodifikasi solusi yang ada.
Sinkronisasikan atau Dapatkan sumber file komponen solusi terbaru.
Dengan menggunakan alat Solution Packager, kemas file komponen ke dalam solusi .zip file yang tidak dikelola.
Impor file solusi yang tidak dikelola ke dalam lingkungan.
Sesuaikan dan Edit solusi sesuai kebutuhan.
Saat Anda siap untuk memeriksa perubahan ke kontrol sumber, ikuti langkah-langkah berikut.
Ekspor solusi tak terkelola.
Dengan menggunakan alat Solution Packager, ekstrak solusi yang diekspor ke dalam file komponen.
Sinkronisasikan atau Dapatkan sumber terbaru dari kontrol sumber.
Merekonsiliasi jika ada konflik.
Kirim perubahan ke kontrol sumber.
Langkah 2 dan 3 harus dilakukan sebelum penyesuaian lebih lanjut terjadi di organisasi pengembangan. Dalam langkah 5, langkah b harus diselesaikan sebelum langkah c.
Lihat juga
Referensi File Komponen Solusi (SolutionPackager)
Tool SolutionPackager
Format file kontrol sumber