Lewati ke konten utama

Pengantar GitHub Codespaces

Temukan GitHub Codespaces, lingkungan pengembangan yang memungkinkan Anda menulis, menjalankan, dan menerapkan kode di mana saja.
· 10 mnt Baca

Jelajahi bersama AI

Dalam artikel ini, saya akan membantu Anda memahami semua yang perlu diketahui tentang GitHub Codespaces, yang sangat layak dipelajari karena mengubah cara kerja developer dengan menawarkan lingkungan pengembangan instan berbasis cloud. Kita akan melihat siklus hidup GitHub Codespaces agar Anda memahami berbagai tahap dalam prosesnya. Selain itu, kita juga akan melihat cara menyesuaikan codespace Anda sendiri agar sesuai dengan gaya kerja dan kebutuhan Anda.

Jangan khawatir jika Anda belum familiar dengan Git dan GitHub. Anda dapat mengikuti kursus GitHub Concepts kami untuk mempelajari cara membuat repositori, README, dan banyak hal dasar lainnya. Juga, jangan lewatkan kursus Foundations of Git kami untuk memulai dasar-dasar kontrol versi. 

Apa itu GitHub Codespace?

GitHub Codespace adalah lingkungan pengembangan berbasis cloud yang memungkinkan developer menulis, menguji, dan melakukan debug kode langsung di cloud, sehingga tidak perlu penyiapan lokal yang kompleks. Saat sebuah codespace dibuat, ia meluncurkan kontainer Docker yang berjalan di mesin virtual, yang telah dikonfigurasi sebelumnya dengan alat, pustaka, dan dependensi yang diperlukan untuk proyek tersebut. Fitur penting lainnya dari GitHub Codespaces adalah integrasinya dengan IDE seperti Visual Studio Code, seperti yang akan kita bahas lebih lanjut di artikel ini.

GitHub codespace operational workflow

Alur kerja codespace. Sumber: GitHub

Memahami Siklus Hidup GitHub Codespaces

Memahami GitHub Codespaces memerlukan pemahaman tentang siklus hidup sebuah codespace. Setiap fase melibatkan tindakan spesifik yang memengaruhi pengalaman Anda atau cara Anda menggunakan sumber daya.

Fase pembuatan

Ada dua opsi utama saat membuat codespace: memulai dari proyek yang sudah ada atau memulai proyek baru. Jika Anda mengerjakan proyek yang sudah ada, Anda kemungkinan besar membuat codespace dari branch repositori yang sudah ada, dan codespace akan terikat pada branch spesifik yang Anda pilih. Jika Anda memulai proyek baru, Anda dapat menggunakan template. Template bermanfaat karena menyediakan lingkungan yang telah dikonfigurasi sebelumnya untuk membantu Anda memulai proyek. 

Sebagai catatan, meskipun template terutama digunakan saat memulai proyek baru, jika Anda mengerjakan proyek yang sudah ada dan ingin menggunakan pengaturan spesifik dari template, Anda dapat menerapkan konfigurasi template untuk menyempurnakan lingkungan Anda. Itu juga merupakan opsi. 

Image showing the position of the menu button, and where to click to open up the GitHub Codespaces pageMenemukan Codespaces di menu GitHub. Gambar oleh Penulis

Secara desain, seluruh alur kerja dan interaksi dengan Git dan branch serupa dengan alur kerja saat Anda bekerja di mesin lokal. Dalam kedua kasus, Anda akan memublikasikan proyek ke repositori GitHub dan harus memastikan mendorong perubahan Anda ke GitHub. 

Fase pembangunan ulang

Membuat codespace baru merupakan alternatif dari membangun ulang sebuah codespace. Namun, dalam situasi tertentu, membangun ulang codespace menawarkan beberapa kelebihan, jadi penting memahami perbedaannya. Salah satunya, pembangunan ulang memungkinkan Anda menerapkan pembaruan pada konfigurasi kontainer tanpa kehilangan pekerjaan apa pun di direktori /workspaces Anda. Selain itu, saat Anda membangun ulang, GitHub Codespaces memanfaatkan image cache dari build sebelumnya, yang mempercepat proses dengan menghindari pemasangan ulang pustaka.

Image showing the GitHub Rebuild Container option from the command paletteMembangun ulang kontainer. Gambar oleh Penulis

Fase penghentian

Alasan kita menghentikan sebuah codespace adalah karena saat lingkungan dijeda, tidak ada sumber daya yang dikonsumsi, dan ini membantu mengelola biaya. Perlu diingat bahwa menjalankan codespace menimbulkan biaya CPU, sementara codespace yang dihentikan hanya menimbulkan biaya penyimpanan. 

Penting untuk diketahui bahwa jika Anda tidak secara eksplisit menghentikan codespace, codespace akan terus berjalan hingga habis waktu karena tidak aktif. Periode batas waktu ini dapat dikustomisasi, yang akan saya bahas di bagian berikutnya. Juga penting diketahui bahwa menutup tab browser saja tidak menghentikan codespace itu sendiri. Ini adalah kesalahan umum yang sering terjadi.

Image showing how to stop a GitHub codespace

Menghentikan codespace. Gambar oleh Penulis

Fase penghapusan

Setelah Anda selesai mengerjakan sebuah proyek, hapus codespace agar Anda tidak menanggung biaya penyimpanan yang tidak perlu. Ini juga merupakan praktik yang baik untuk menjaga workspace tetap rapi.

Anda bisa mendorong perubahan ke branch remote sebelum menghapusnya atau mengabaikan seluruh perubahan yang belum di-commit. Selain itu, codespace yang tetap tidak aktif untuk periode yang ditentukan akan dihapus secara otomatis. Ini dirancang untuk membantu developer mengelola penyimpanan dan juga biaya. Memilih periode sebelum penghapusan otomatis merupakan kustomisasi lain yang akan kita bahas di bawah.

Image showing how to delete a GitHub codespace

Menghapus codespace. Gambar oleh Penulis

Menyesuaikan GitHub Codespaces

Salah satu hal hebat tentang GitHub Codespaces adalah tingkat kustomisasinya yang tinggi. Anda dapat memilih konfigurasi atau memilih alat tertentu. Secara garis besar, kita dapat membagi kustomisasi menjadi dua kategori: kustomisasi yang dirancang untuk mempersonalisasi workspace agar sesuai dengan gaya kerja Anda, dan kustomisasi yang dirancang untuk membantu Anda mengelola sumber daya dan menekan biaya. 

Mempersonalisasi lingkungan codespace Anda

Hal pertama yang dapat kita pertimbangkan adalah cara mempersonalisasi lingkungan kita. Developer kemungkinan akan menghargai kustomisasi yang sesuai dengan alur kerja spesifik mereka. Sebagian besar kustomisasi ini akan diakses saat Anda mengeklik foto profil untuk membuka menu pengaturan, seperti terlihat pada gambar di bawah. 

Image showing the profile photo which will open up the GitHub sidebarMembuka menu pengaturan. Gambar oleh Penulis

Settings Sync

Hal pertama yang mungkin ingin Anda lakukan adalah memastikan pengaturan Anda konsisten di versi desktop VS Code dan klien berbasis web. Anda dapat melakukannya dengan mengaktifkan Settings Sync sehingga perubahan atau kustomisasi yang Anda buat di satu tempat diterapkan ke tempat lain. Ini fitur yang sangat praktis bagi developer yang harus berpindah antar lingkungan.

Image showing GitHub Settings Sync section under GitHub Codespaces settings

Mengaktifkan Settings Sync. Gambar oleh Penulis

Konflik dapat terjadi jika ada perbedaan antara pengaturan cloud dan pengaturan lokal Anda atau jika salah satu mesin Anda offline untuk sementara. Jika terjadi konflik, Anda akan memiliki opsi untuk menimpa menggunakan pengaturan lokal atau cloud, atau Anda dapat memilih lebih spesifik pengaturan mana yang akan dipertahankan. 

Mengganti nama codespace

GitHub memberikan nama tampilan pada setiap codespace baru. Mungkin Anda tidak ingin mempertahankan nama yang dibuat otomatis, terutama jika Anda memiliki banyak codespace. Saya biasanya membuat nama yang menunjukkan tujuan proyek dan membantu saya menavigasi dengan mudah.  

GIF showing process of renaming a GitHub codefileMengganti nama codespace. Gambar oleh Penulis

Perlu Anda ketahui bahwa, selain nama tampilan, setiap codespace juga memiliki nama permanen yang tidak dapat Anda ubah. Nama permanen ini sebenarnya adalah nama tampilan dengan serangkaian karakter acak di bagian akhir. Tujuan memiliki nama permanen adalah memastikan codespace memiliki pengenal unik. Perhatikan nama permanen jika Anda berencana menggunakan antarmuka baris perintah GitHub. Ini juga berguna jika Anda perlu terhubung dengan tim dukungan GitHub untuk alasan apa pun. Anda dapat menemukan nama permanen dengan membuka codespace di browser, di mana Anda dapat melihat bahwa subdomain di browser adalah nama permanennya. 

Mengganti shell

Jika Anda membuka codespace baru di aplikasi desktop VS Code, shell yang terbuka bergantung pada pengaturan lokal Anda. Jika Anda menggunakan klien web VS Code, bash akan terbuka secara default. Anda selalu dapat mengubah shell jika Anda lebih menyukainya, misalnya zsh atau fish dan Anda dapat menerapkan perubahan ini di pengaturan agar setiap kali membuka shell pilihan Anda. 

Image showing the plus icon on the GitHub terminalMengganti shell. Gambar oleh Penulis

Menetapkan editor default

Anda juga dapat memilih editor kode favorit. Misalnya, jika Anda sangat menyukai Visual Studio Code seperti saya, Anda dapat mengonfigurasi pengaturan agar meluncurkan VS Code setiap kali Anda membuat atau membuka codespace. Anda dapat memilih antara VS Code, JetBrains, dan JupyterLab.

Image showing the various options of opening a GitHub codespace by clicking on the codespace ellipsisMemilih editor default. Gambar oleh Penulis

Mengelola sumber daya dan kinerja

Sekarang, mari lihat beberapa pengaturan terkait alokasi sumber daya dan kinerja.

Mengubah tipe mesin

Anda dapat memilih atau mengubah perangkat keras dasar yang menjalankan lingkungan Anda. Misalnya, Anda dapat beralih ke mesin dengan CPU, RAM, atau penyimpanan yang lebih besar. Dengan begitu, Anda dapat memastikan codespace memiliki sumber daya yang cukup untuk menangani tugas apa pun yang sedang Anda kerjakan, namun pada saat yang sama memastikan Anda tidak berlebihan. Penting memperhatikan tipe mesin remote yang Anda gunakan karena tiap tipe berada pada tingkatan penagihan yang berbeda.  

Image of a dialog window with GitHub options to select a preferred machine typeMemilih tipe mesin yang disukai. Gambar oleh Penulis

Perlu diketahui bahwa Anda hanya dapat mengubah tipe mesin untuk codespace yang dipublikasikan, jadi jika Anda membuat codespace dari template yang tidak terhubung ke repositori GitHub, Anda tidak akan memiliki opsi untuk mengubah tipe mesin. Selain itu, jika Anda merupakan bagian dari sebuah organisasi, Anda mungkin tidak memiliki opsi untuk mengubah tipe mesin, tergantung pada aturan kebijakan yang berlaku. 

Menyesuaikan periode batas waktu

Secara default, GitHub Codespaces berhenti berjalan secara otomatis setelah 30 menit, tetapi Anda dapat menyesuaikannya di pengaturan pribadi. Periode batas waktu maksimum adalah empat jam. Penting untuk memperhatikan penggunaan sumber daya dan mencegah codespace menganggur tetap berjalan saat tidak diperlukan.

Image showing the default idle timeout section under the GitHub codespaces settingsMengubah periode batas waktu. Gambar oleh Penulis

Mengonfigurasi penghapusan otomatis

Codespace yang tidak aktif akan dihapus setelah jangka waktu tertentu. Ini dirancang sebagai kemudahan untuk membebaskan sumber daya. Anda dapat mengonfigurasi berapa lama codespace yang dihentikan dipertahankan sebelum dihapus, namun perlu diingat ada periode retensi maksimum 30 hari. 

Image for setting the retention period for a GitHub codespaceMenetapkan periode retensi. Gambar oleh Penulis

Memilih wilayah geografis

Anda dapat menetapkan wilayah geografis default tempat GitHub Codespaces Anda di-host dengan mengunjungi pengaturan profil. Memilih wilayah yang lebih dekat dengan lokasi Anda dapat meningkatkan kinerja, seperti waktu muat yang lebih cepat dan latensi yang lebih rendah, serta memungkinkan Anda mempersonalisasi lokasi penyimpanan data untuk mematuhi persyaratan ketetapan lokasi data.

Image showing how to change the region of your GitHub codespacesMengubah wilayah. Gambar oleh Penulis

GitHub.dev vs. GitHub Codespaces

Jika Anda familiar dengan GitHub, Anda mungkin juga familiar dengan GitHub.dev, dan mungkin bertanya-tanya apa perbedaan antara GitHub.dev dan GitHub Codespaces. 

Pertama, GitHub.dev adalah editor kode ringan berbasis browser, sedangkan GitHub Codespaces menyediakan lingkungan pengembangan lengkap yang memungkinkan Anda menjalankan dan menguji kode. Dengan kata lain, karena GitHub.dev memiliki cakupan yang terbatas, ia memang hanya dirancang untuk pengeditan kode. 

GitHub Codespaces juga terintegrasi dengan IDE seperti VS Code, dan perubahan pengaturan di lingkungan cloud dan lokal dapat disinkronkan melalui fitur Settings Sync, seperti yang telah kita lihat. Developer juga akan melihat bahwa lingkungan GitHub.dev tidak persisten, artinya pekerjaan Anda tidak disimpan antarsesi kecuali Anda melakukan commit perubahan ke repositori secara manual. Di sisi lain, dengan GitHub Codespaces, perubahan disimpan meskipun Anda menutup atau menghentikan codespace. 

Jika digabungkan, kita dapat mempertimbangkan GitHub Codespaces sebagai pilihan untuk proyek yang lebih besar dan alur kerja yang lebih kompleks karena menawarkan kekuatan lingkungan pengembangan tanpa perlu konfigurasi atau pengelolaan sumber daya di mesin pribadi Anda.  

FiturGitHub.devGitHub Codespaces
TujuanEditor kode berbasis browser untuk pengeditan cepat pada kode yang di-host di repositori GitHubLingkungan pengembangan lengkap berbasis cloud
LingkunganTanpa penyiapan; akses cepat melalui browserKontainer berbasis Docker dengan alat, pustaka, dan dependensi yang telah dikonfigurasi sebelumnya
Integrasi IDEPengalaman pengeditan terbatas dengan editor bawaanMendukung Visual Studio Code, JetBrains, dan JupyterLab
KustomisasiKustomisasi minimalSangat dapat dikustomisasi
Manajemen Sumber DayaTidak memerlukan manajemen sumber dayaPengguna mengelola biaya CPU, biaya penyimpanan, dan menetapkan batas waktu
DeploymentTidak dirancang untuk deploymentDukungan penuh untuk alur kerja deployment
KetersediaanTersedia untuk repositori GitHub mana punMemerlukan langganan dan lebih banyak sumber daya

Kesimpulan

Seiring kita bergerak menuju lingkungan kerja yang terdistribusi dan fleksibel, alat seperti GitHub Codespaces akan berperan besar dalam membentuk masa depan pengembangan perangkat lunak. Secara khusus, GitHub Codespaces menyelesaikan beberapa masalah utama: memungkinkan Anda mulai ngoding segera tanpa memedulikan spesifikasi mesin lokal; memberi Anda akses ke lingkungan pengembangan dari perangkat apa pun; dan memungkinkan Anda berkolaborasi dengan anggota tim di lingkungan yang identik. 

Untuk pembelajaran lebih lanjut, baca artikel DataCamp berikut:

Terakhir, dengarkan episode podcast DataCamp, Masa Depan Pemrograman bersama Kyle Daigle, COO di GitHub. Di dalamnya, ia membahas kondisi pengodean berbantuan AI dan pandangannya tentang perkembangan industri.

Adejumo Ridwan Suleiman

Penulis

Adejumo Ridwan Suleiman

Instruktur sains data berpengalaman dan Biostatistikawan dengan keahlian dalam Python, R, dan machine learning.

Pertanyaan yang Sering Diajukan

Berapa jumlah maksimum codespace yang dapat Anda buat per repositori atau branch?

Anda dapat membuat codespace tanpa batas per branch repositori jika Anda memiliki penyimpanan yang cukup. Saat Anda melebihi sumber daya yang dialokasikan, Anda akan mendapatkan pesan yang menampilkan bahwa Anda perlu menghapus satu codespace sebelum membuat yang baru.

Apa perbedaan antara Github.dev dan GitHub Codespaces?

GitHub.dev adalah editor browser ringan untuk pengeditan kode, sedangkan GitHub Codespaces menyediakan lingkungan pengembangan lengkap berbasis cloud untuk alur kerja yang kompleks.

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026