Foto oleh Kevin HorvatSelama 12 tahun karir saya, saya telah bekerja dengan .NET dan telah sangat terpaku pada Windows dan alat pengembangan berpemilik.
Tetapi, terima kasih kepada Microsoft, .NET Core telah mengubah segalanya dan sekarang dimungkinkan untuk mengembangkan aplikasi .NET di hampir semua platform. Belum lama ini, saya memutuskan untuk pindah ke Ubuntu. Pada artikel ini saya akan membagikan apa yang saya pelajari dan mencoba menyederhanakan proses ini untuk mereka yang juga ingin mencoba pengembangan Linux dengan .NET Core.
Pertama-tama, saya sangat menyukai hasilnya. Semua alat yang diperlukan bekerja dengan baik. Proses pengembangan menjadi cair segera. Docker dan Kubernetes juga membuat proses pemindahan jauh lebih mudah. Tetapi, karena pengetahuan yang buruk tentang OS, bash dan kebingungan tentang opsi instalasi untuk beberapa alat (misalnya Docker), pengaturan awal memakan waktu lebih dari satu hari. Artinya, prosesnya cukup panjang dan terkadang membingungkan.
Untuk menghemat waktu di masa depan bagi saya dan bagi mereka yang ingin mencoba Linux dengan .NET Core, saya menyiapkan
repositori Github dengan beberapa skrip bash. Anda dapat menjalankannya di instalasi Ubuntu yang bersih dan mereka akan mengatur semuanya saat Anda duduk dan minum kopi. Juga, jika diperlukan, skrip ini dapat dengan mudah dimodifikasi agar sesuai dengan kebutuhan Anda.
Untuk memahami skrip ini, hanya diperlukan pemahaman dasar tentang bash. Semua poin menarik disediakan dengan tautan yang menjelaskan topik yang relevan. Juga, seseorang yang mengenal Linux dengan baik kemungkinan besar akan menemukan momen yang tidak optimal dalam skrip ini (jika Anda menemukannya, beri tahu saya, tolong, saya akan sangat berterima kasih kepada Anda).
Ada lima file dalam repositori - tiga skrip bash dan dua file konfigurasi untuk Kubernetes. Mari kita lihat masing-masing skrip ini.
Maaf, skrip pertama adalah kandidat utama untuk penyesuaian, atau bahkan izin.
Pertama-tama, skrip ini memasang hypervisor untuk peluncuran Kubernet selanjutnya. Saya memilih Virtualbox, tetapi juga dimungkinkan untuk berjalan di KVM atau tanpa hypervisor sama sekali. Setiap opsi memiliki nuansa tersendiri, sehingga pilihan akhir dari hypervisor adalah milik Anda.
Script juga menginstal paket bahasa Rusia. Anda dapat menginstal yang Anda butuhkan hanya dengan mengubah kode bahasa atau Anda dapat mengomentari baris ini.
Ketika skrip selesai, Anda harus reboot agar Virtualbox dapat mengkonfigurasi sendiri sebelum menginstal sisa alat.
Script terbesar dan paling berguna melakukan hal berikut:
- Menginstal Git, .NET Core 3.1 SDK, Nodejs.
- Menginstal Docker Community Edition dan menambahkan repositori Docker ke registri untuk melakukan pembaruan.
- Memeriksa apakah Virtualbox atau KVM diinstal dan menginstal Minikube.
- Menginstal Visual Studio Code dan menambahkan beberapa ekstensi yang berguna untuk pengembangan frontend dan backend: Gitlens , TSLint , Prettier , Stylelint , C # , Docker tools , Kubernetes tools , Kubernetes Support .
Script ini mengkonfigurasi alat yang diinstal sebelumnya. Yaitu:
- Meminta git nama pengguna dan email untuk mengkonfigurasinya secara global.
- Menyarankan Anda untuk menetapkan Kode VS sebagai editor git default.
- Menyarankan Anda untuk menginstal libsecret dan menggunakannya untuk menyimpan kata sandi Git dalam bentuk terenkripsi.
- Menambahkan pengguna saat ini ke grup "buruh pelabuhan", yang diperlukan untuk bekerja dengan perintah Docker tanpa penggunaan sudo yang konstan.
- Mulai Minikube dan mengonfigurasi dasbor Kubernetes untuk mengelola kluster melalui UI Web.
- Membuat pengguna dengan hak admin di Minikube untuk mengakses dasbor. file minikube_admin_user.yaml dan minikube_role_binding.yaml digunakan untuk itu.
- Menampilkan instruksi untuk mendapatkan token dan mengakses dasbor Kubernetes.
Agar pengaturan akses Docker berlaku, Anda harus keluar dan memulai kembali layanan Docker. Atau Anda cukup reboot.
Itu saja!
Saya harap skrip ini akan berguna bagi mereka yang ingin cepat merasa nyaman dengan Ubuntu dan pengembangan untuk .NET Core.
Selamat pengembangan .NET!