Bagikan melalui


Membuat lingkungan dev GitHub Codespaces dengan FastAPI dan Postgres

Artikel ini memperlihatkan kepada Anda cara menjalankan FastAPI dan Postgres bersama-sama di lingkungan GitHub Codespaces . Codespace adalah lingkungan pengembangan yang dihosting cloud yang memungkinkan Anda membuat lingkungan pengembangan yang dapat dikonfigurasi dan dapat diulang.

Anda dapat membuka repositori sampel di browser atau di lingkungan pengembangan terintegrasi (IDE) seperti Visual Studio Code dengan ekstensi GitHub Codespaces.

Atau, Anda dapat mengkloning repositori sampel secara lokal. Saat membuka proyek di Visual Studio Code, Anda dapat menggunakan Kontainer Dev untuk menjalankannya menggunakan Kontainer Dev. Kontainer Dev mengharuskan Docker Desktop diinstal secara lokal. Jika Docker tidak diinstal, Anda dapat menjalankan proyek menggunakan GitHub Codespaces sebagai lingkungan pengembangan.

Saat menggunakan GitHub Codespaces, perlu diingat bahwa Anda memiliki jumlah jam inti tetap gratis per bulan. Tutorial ini membutuhkan waktu kurang dari satu jam inti untuk diselesaikan. Untuk informasi selengkapnya, lihat Tentang penagihan untuk GitHub Codespaces.

Anda juga dapat menggunakan pengaturan ini sebagai titik awal dan memodifikasi sampel untuk menjalankan kerangka kerja web Python lainnya seperti Django atau Flask.

Memulai lingkungan dev di Codespaces

Tutorial ini memperkenalkan salah satu dari banyak cara yang mungkin untuk membuat dan bekerja dengan GitHub Codespaces.

  1. Buka repositori aplikasi sampelhttps://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace.

    Repositori sampel memiliki semua konfigurasi yang diperlukan untuk membuat lingkungan dengan aplikasi FastAPI menggunakan database Postgres. Anda dapat membuat proyek serupa dengan mengikuti langkah-langkah dalam Menyiapkan proyek Python untuk GitHub Codespaces.

  2. Pilih tab Kode, Codespace, dan + untuk membuat codespace baru.

    Cuplikan layar memperlihatkan cara membuat codespace dari repositori GitHub.

  3. Ketika kontainer selesai dibangun, konfirmasikan bahwa Anda melihat Codespace di sudut kiri bawah browser, dan lihat repositori sampel.

    File konfigurasi kunci codespace devcontainer.json, Dockerfile, dan docker-compose.yml. Untuk informasi selengkapnya, lihat Gambaran umum GitHub Codespaces.

    Petunjuk / Saran

    Anda juga dapat menjalankan ruang kode di Visual Studio Code. Pilih Codespace di sudut kiri bawah browser atau (Ctrl + Shift + P / Ctrl + Command + P) dan ketik "Codespace". Lalu pilih Buka di Visual Studio Code. Selain itu, jika Anda menghentikan codespace dan kembali ke repositori dan membukanya lagi di GitHub Codespaces, Anda memiliki opsi untuk membukanya di Visual Studio Code atau browser.

  4. Pilih file .env.devcontainer dan buat salinan yang disebut .env dengan konten yang sama.

    .env berisi variabel lingkungan yang digunakan dalam kode untuk menyambungkan ke database.

  5. Jika jendela terminal belum terbuka, buka jendela dengan membuka Palet Perintah (Ctrl + Shift + P / Ctrl + Command + P), ketik "Terminal: Buat Terminal Baru", dan pilih untuk membuat terminal baru.

  6. Pilih tab PORTS di jendela terminal untuk mengonfirmasi bahwa PostgreSQL berjalan pada port 5432.

  7. Di jendela terminal, jalankan aplikasi FastAPI.

    uvicorn main:app --reload
    
  8. Pilih pemberitahuan Buka di Browser.

    Jika Anda tidak melihat atau melewatkan pemberitahuan, buka PORTS dan temukan Alamat Lokal untuk port 8000. Gunakan URL yang tercantum di sana.

  9. Tambahkan /docs di akhir URL pratinjau untuk melihat antarmuka pengguna Swagger, yang memungkinkan Anda menguji metode API.

    Metode API dihasilkan dari antarmuka OpenAPI yang dibuat FastAPI dari kode.

    Cuplikan layar memperlihatkan UI FastAPI Swagger.

  10. Pada halaman Swagger, jalankan metode POST untuk menambahkan restoran.

    1. Perluas metode POST .

    2. Pilih Cobalah.

    3. Isi isi permintaan.

      {
        "name": "Restaurant 1",
        "address": "Restaurant 1 address"
      }
      
    4. Pilih Jalankan untuk menerapkan perubahan

Menyambungkan ke database dan menampilkan data

  1. Kembali ke Ruang Kode GitHub untuk proyek, pilih ekstensi SQLTools, lalu pilih Database lokal untuk menyambungkan.

    Ekstensi SQLTools harus diinstal saat kontainer dibuat. Jika ekstensi SQLTools tidak muncul di Bilah Aktivitas, tutup codespace dan buka kembali.

  2. Perluas simpul Database lokal hingga Anda menemukan tabel restoran , pilih kanan Perlihatkan Rekaman Tabel.

    Anda akan melihat restoran yang Anda tambahkan.

    Cuplikan layar memperlihatkan cara Menggunakan ekstensi SQLTools di Visual Studio Code untuk menyambungkan ke database lokal Postgres dan menampilkan rekaman tabel.

Pembersihan

Untuk berhenti menggunakan codespace, tutup browser. (Atau, tutup Visual Studio Code jika Anda membukanya dengan cara itu.)

Jika Anda berencana menggunakan codespace lagi, Anda dapat menyimpannya. Hanya codespace yang sedang berjalan yang dikenakan biaya CPU. Codespace yang dihentikan hanya dikenakan biaya penyimpanan.

Jika Anda ingin menghapus codespace, buka https://github.com/codespaces untuk mengelola codespace Anda.

Langkah selanjutnya