Menyebarkan aplikasi Databricks

Setelah Anda membuat dan mengembangkan aplikasi Azure Databricks, sebarkan untuk membuatnya dapat diakses di ruang kerja Azure Databricks. Penyebaran membangun aplikasi Anda, menginstal dependensi, dan menjalankannya menggunakan konfigurasi yang ditentukan dalam file proyek Anda. Anda dapat menyebarkan aplikasi menggunakan UI Azure Databricks atau Databricks CLI.

Nota

Jika Anda membuat aplikasi dari templat, Azure Databricks menyebarkannya secara otomatis saat Anda pertama kali membuatnya. Namun, Anda masih dapat menyebarkannya kembali nanti setelah membuat perubahan. Lihat Membuat aplikasi Databricks dari templat.

Logika penyebaran

Aplikasi Databricks mendukung penyebaran aplikasi yang menggunakan Python, Node.js, atau kombinasi keduanya. Ini memungkinkan arsitektur yang fleksibel, seperti frontend Node.js dengan backend Python.

Selama penyebaran, proses build memeriksa package.json file di akar direktori aplikasi Anda untuk menentukan apakah Node.js digunakan. Jika tersedia, langkah-langkah build khusus Node.js dan Python akan disertakan. Logika penyebaran mengikuti pola ini:

Jika package.json ada:

  1. Jalankan npm install
  2. Instal dependensi Python:
    • Jika requirements.txt ada, jalankan pip install -r requirements.txt
    • Jika requirements.txt tidak ada dan baik pyproject.toml dan uv.lock ada, jalankan uv sync untuk menginstal dependensi
  3. Jalankan npm run build (jika build skrip ditentukan dalam package.json)
  4. Jalankan perintah yang ditentukan dalam app.yaml, atau npm run start jika tidak ada perintah yang ditentukan

Nota

Jika tidak ada perintah yang ditentukan dalam app.yaml, Azure Databricks menjalankan npm run start, bahkan jika aplikasi menyertakan kode Python. Untuk menjalankan proses Python dan Node.js, tentukan skrip start kustom yang menggunakan alat seperti concurrently untuk meluncurkan keduanya. Misalnya: concurrently "npm run start:node" "python my_app.py".

Jika package.json tidak ada:

  1. Instal dependensi Python:
    • Jika requirements.txt ada, jalankan pip install -r requirements.txt
    • Jika requirements.txt tidak ada dan baik pyproject.toml dan uv.lock ada, jalankan uv sync untuk menginstal dependensi
  2. Jalankan perintah yang ditentukan dalam app.yaml, atau python <my-app>.py jika tidak ada perintah yang ditentukan

Bersiap untuk penyebaran

Sebelum menyebarkan aplikasi, verifikasi bahwa proyek Anda menyertakan komponen yang diperlukan:

Selain itu, pastikan perwakilan layanan aplikasi memiliki akses ke folder kode sumber.

Pilih sumber penyebaran

Anda dapat menyebarkan aplikasi Databricks dari sumber berikut:

  • Folder ruang kerja - Unggah file aplikasi ke folder ruang kerja dan sebarkan dari sana. Ini adalah metode penyebaran standar.
  • Repositori Git - Konfigurasikan repositori Git untuk aplikasi dan sebarkan secara langsung tanpa mengunggah file ke ruang kerja. Aplikasi membaca kode dari konfigurasi referensi Git (cabang, tag, atau komit) setiap kali Anda melakukan penyebaran. Anda juga dapat menentukan jalur kode sumber untuk disebarkan dari direktori tertentu dalam repositori. Semua penyedia Git utama didukung, termasuk GitHub, GitLab, dan Bitbucket. Untuk daftar lengkap penyedia yang didukung, lihat Menyambungkan penyedia Git Anda ke Databricks.

Anda dapat beralih antara ruang kerja dan sumber Git untuk aplikasi yang sama kapan saja, kecuali jika admin ruang kerja mewajibkan penggunaan Git saja untuk penyebaran. Lihat Menerapkan penyebaran khusus Git.

Gunakan Git untuk penyebaran eksklusif

Admin ruang kerja dapat mengharuskan semua aplikasi di ruang kerja disebarkan dari repositori Git. Untuk mengaktifkan pengaturan ini, buka Pengaturan>Aplikasi> dan aktifkan Hanya izinkan penyebaran aplikasi dari Git. Pengaturan ini nonaktif secara default.

Saat Anda mengaktifkan pengaturan ini:

  • Pengguna harus mengonfigurasi repositori Git sebelum membuat aplikasi.
  • Pengguna hanya dapat menyebarkan dari Git, bukan dari folder ruang kerja.
  • Databricks menonaktifkan templat aplikasi di ruang kerja.
  • Pengguna tidak dapat menghapus repositori Git dari aplikasi yang memilikinya.
  • Aplikasi yang ada terus berjalan, tetapi pengguna tidak dapat menyebarkan atau memulainya lagi kecuali aplikasi memiliki repositori Git.

Menyebarkan aplikasi

Bagian berikut menjelaskan cara menyebarkan dari folder ruang kerja atau langsung dari repositori Git.

Menerapkan dari folder di ruang kerja

Databricks Antarmuka Pengguna

Untuk menyebarkan aplikasi dari antarmuka pengguna Azure Databricks:

  1. Unggah file aplikasi ke ruang kerja Azure Databricks Anda. Untuk petunjuknya, lihat Mengimpor file.
  2. Di ruang kerja Databricks Anda, klik ikon Aplikasi. pengalih aplikasi dan pilih Aplikasi Databricks.
  3. Pilih aplikasi Anda di kolom Nama .
  4. Klik Sebarkan dan pilih folder di ruang kerja tempat Anda mengunggah file aplikasi.
  5. Klik Pilih, lalu Sebarkan.

Databricks CLI (antarmuka baris perintah)

Untuk menyebarkan aplikasi menggunakan CLI:

  1. Buka terminal dan navigasikan ke direktori yang berisi file aplikasi Anda.

  2. Unggah file aplikasi Anda ke ruang kerja Azure Databricks menggunakan perintah sync. Ganti jalur dengan lokasi ruang kerja tempat Anda ingin mengunggah file.

    databricks sync --watch . /Workspace/Users/my-email@org.com/my-app
    

    --watch Bendera membuat proses sinkronisasi tetap berjalan dan secara otomatis mengunggah perubahan saat Anda memodifikasi file secara lokal. Untuk mengecualikan file atau direktori tertentu agar tidak disinkronkan, tambahkan ke .gitignore file di direktori aplikasi lokal Anda. File umum yang harus dikecualikan adalah node_modules/, .env, __pycache__/, .DS_Store, dan file data besar atau artefak build.

  3. Verifikasi unggahan dengan melihat file di ruang kerja Anda. Klik ikon aplikasi. pengalih > aplikasi Lakehouse, lalu klik Ikon Ruang KerjaRuang Kerja dan navigasikan ke direktori yang Anda buat untuk aplikasi Anda.

  4. Sebarkan aplikasi dengan menjalankan perintah berikut. Ganti nama aplikasi dan jalur kode sumber dengan nilai Anda.

    databricks apps deploy my-app-name \
       --source-code-path /Workspace/Users/my-email@org.com/my-app
    

    CLI menampilkan kemajuan penyebaran dan mengonfirmasi kapan aplikasi berjalan.

Menyebarkan dari repositori Git

Untuk menyebarkan aplikasi dari repositori Git, tambahkan repositori di tingkat aplikasi, lalu tentukan referensi Git saat Anda menyebarkannya. Repositori Git Anda harus berisi file aplikasi, termasuk app.yaml, dependensi, dan titik masuk. Semua penyedia Git utama didukung, termasuk GitHub, GitLab, dan Bitbucket. Anda juga dapat menyebarkan aplikasi yang didukung Git menggunakan UI, CLI, API, atau Bundel Automasi Deklaratif.

Databricks Antarmuka Pengguna

Untuk mengonfigurasi dan menyebarkan aplikasi dari Git:

  1. Unggah file aplikasi Anda ke repositori Git.
  2. Di ruang kerja Databricks Anda, klik ikon Aplikasi. pengalih aplikasi dan pilih Aplikasi Databricks.
  3. Pilih aplikasi yang sudah ada untuk diedit atau klik + Buat aplikasi.
  4. Di langkah Konfigurasikan repositori Git , masukkan URL repositori Git (misalnya, https://github.com/org/repo) dan pilih penyedia Git.
  5. Klik Buat aplikasi atau Simpan untuk kembali ke halaman detail aplikasi.
  6. Untuk repositori privat, perwakilan layanan aplikasi harus memiliki kredensial Git yang dikonfigurasi. Pada halaman detail aplikasi, klik Konfigurasikan kredensial Git, atau edit aplikasi dan tambahkan kredensial di langkah Konfigurasikan repositori Git . Anda harus memiliki CAN MANAGE izin di aplikasi untuk menambahkan kredensial Git. Repositori publik tidak memerlukan kredensial Git. Untuk petunjuk untuk setiap penyedia, lihat Menyambungkan penyedia Git Anda ke Databricks.

Kemudian, sebarkan aplikasi:

  1. Pada halaman gambaran umum aplikasi, klik Sebarkan.
  2. Pilih Dari Git.
  3. Untuk referensi Git, masukkan nama cabang, tag, atau commit SHA (misalnya, main, v1.0.0, atau hash commit).
  4. Untuk Jenis referensi, tentukan tipe referensi, seperti cabang, tag, atau commit.
  5. (Opsional) Untuk Jalur kode sumber, masukkan jalur ke direktori tertentu dalam repositori. Aplikasi ini memperlakukan direktori tersebut sebagai direktori tingkat atas dan tidak dapat mengakses file di luarnya. Jika Anda tidak menentukan jalur, Databricks menggunakan akar repositori.
  6. Klik Sebarkan.

Databricks CLI (antarmuka baris perintah)

Untuk menyebarkan aplikasi dari Git menggunakan CLI:

  1. Unggah file aplikasi Anda ke repositori Git.

  2. Konfigurasikan repositori Git di aplikasi saat Anda membuat aplikasi, atau menambahkannya ke aplikasi yang sudah ada. Penyedia yang didukung meliputi gitHub, , gitHubEnterprisegitLab, gitLabEnterpriseEdition, bitbucketCloud, bitbucketServer, azureDevOpsServices, dan awsCodeCommit.

    Untuk membuat aplikasi baru dengan repositori Git yang dikonfigurasi, gunakan perintah buat :

    databricks apps create my-app \
       --json '{"git_repository": {"url": "https://github.com/org/repo", "provider": "gitHub"}}'
    

    Untuk menambahkan atau memperbarui repositori Git pada aplikasi yang sudah ada, gunakan perintah create-update :

    databricks apps create-update my-app \
       --json '{"update_mask": "git_repository", "git_repository": {"url": "https://github.com/org/repo", "provider": "gitHub"}}'
    
  3. Untuk repositori privat, konfigurasikan kredensial Git untuk perwakilan layanan aplikasi. Anda harus memiliki CAN MANAGE izin di aplikasi untuk menambahkan kredensial Git. Repositori publik tidak memerlukan kredensial Git.

    Untuk menambahkan kredensial Git ke perwakilan layanan aplikasi menggunakan CLI, jalankan:

    databricks git-credentials create --json '{
      "git_provider": "gitHub",
      "git_email": "your-email@example.com",
      "personal_access_token": "YOUR_TOKEN",
      "principal_id": YOUR_SP_ID,
      "name": "GitHub credentials for SP"
    }'
    

    Ganti YOUR_SP_ID dengan ID perwakilan layanan aplikasi. Untuk petunjuk mendapatkan token akses pribadi untuk setiap penyedia, lihat Menyambungkan penyedia Git Anda ke Databricks.

  4. Sebarkan aplikasi dengan menentukan referensi Git. Anda dapat menentukan branch, tag, atau commit (ini saling eksklusif). Secara opsional, sertakan source_code_path untuk menyebarkan dari subdirektori dalam repositori.

    databricks apps deploy my-app \
       --json '{"git_source": {"branch": "main"}}'
    

    Untuk menerapkan tag atau commit tertentu:

    databricks apps deploy my-app \
       --json '{"git_source": {"tag": "v1.0.0"}}'
    
    databricks apps deploy my-app \
       --json '{"git_source": {"commit": "abc123def456"}}'
    

    Untuk menyebarkan dari subdirektori dalam repositori:

    databricks apps deploy my-app \
       --json '{"git_source": {"branch": "main", "source_code_path": "apps/my-app"}}'
    

    CLI menampilkan kemajuan penyebaran dan mengonfirmasi kapan aplikasi berjalan.

Untuk referensi cabang atau tag, Azure Databricks menerapkan komit terbaru dari cabang atau tag tersebut. Untuk referensi SHA commit, Azure Databricks selalu menerapkan commit tersebut. Jika kredensial Git perwakilan layanan tidak valid atau kedaluwarsa, penyebaran gagal.

Nota

Aplikasi yang dibuat sebelum penyebaran Git menjadi tersedia secara umum tidak secara otomatis memberikan izin pembuat CAN MANAGE pada perwakilan layanan aplikasi. Jika Anda perlu menambahkan kredensial Git ke aplikasi yang lebih lama, minta admin ruang kerja untuk memberi Anda CAN MANAGE izin pada perwakilan layanan.

Perwakilan layanan mendukung satu kredensial Git per penyedia. Jika Anda memperbarui kredensial di tempat lain, seperti melalui konsol akun, kredensial yang ada akan digantikan untuk penyedia tersebut.

Perilaku pasca-penyebaran

Setelah penyebaran selesai, Azure Databricks memulai aplikasi Anda berdasarkan command yang ditentukan dalam file app.yaml atau secara default menjalankan python app.py. Halaman detail aplikasi menampilkan status saat ini dan menyediakan akses ke log, riwayat penyebaran, dan informasi lingkungan.

Menampilkan halaman detail aplikasi setelah penyebaran aplikasi

Untuk melihat output aplikasi yang disebarkan, klik tautan aplikasi.

Buka tab Log untuk penelusuran kesalahan dan pemantauan runtime. Lihat Pengelogan dan Pemantauan untuk Aplikasi Databricks.

Memperbarui atau menyebarkan ulang aplikasi

Sebarkan ulang aplikasi Anda setelah membuat perubahan pada kode atau konfigurasi sumber. Proses penyebaran ulang menerapkan pembaruan terbaru Anda tanpa harus membangun ulang aplikasi. Anda dapat menyebarkan ulang dari ruang kerja atau repositori Git kapan saja.

Melakukan penyebaran ulang dari folder ruang kerja

Untuk menyebarkan ulang dari folder ruang kerja:

  1. Perbarui file aplikasi Anda di folder ruang kerja.
  2. Pilih aplikasi dan klik Sebarkan.
  3. Jika jalur kode sumber berubah atau Anda beralih dari sumber Git, klik panah di samping Sebarkan dan pilih Sebarkan menggunakan sumber lain.

Menyebarkan ulang dari repositori Git

Untuk menyebarkan ulang dari repositori Git:

  1. Dorong perubahan Anda ke repositori Git.
  2. Di ruang kerja Azure Databricks Anda, pilih aplikasi Anda dan klik Deploy.
  3. Jika referensi Git berubah atau Anda beralih dari sumber ruang kerja, klik panah di samping Sebarkan dan pilih Sebarkan menggunakan sumber lain.

Untuk mengubah repositori atau kredensial Git, edit konfigurasi aplikasi. Untuk memperbarui repositori Git menggunakan CLI atau API, gunakan perintah create-update . Menghapus repositori Git dari aplikasi memberlakukan penyebaran dari ruang kerja.

Penting

Mengubah repositori Git atau beralih antara sumber penyebaran (Git dan ruang kerja) akan menghapus semua kredensial Git untuk prinsipal layanan aplikasi. Mengubah hanya referensi Git tidak menghapus kredensial. Anda harus mengonfigurasi ulang kredensial sebelum menyebarkan dari Git lagi.

Memecahkan masalah penyebaran

Jika aplikasi Anda gagal disebarkan atau tidak berjalan seperti yang diharapkan, coba langkah-langkah pemecahan masalah berikut:

  • Periksa log untuk pesan kesalahan atau output runtime.
  • Validasi app.yaml sintaks dan pengaturan.
  • Verifikasi bahwa rahasia dan variabel lingkungan di bagian env diselesaikan secara tepat.
  • Konfirmasikan bahwa semua dependensi yang diperlukan disertakan atau diinstal.
  • Jika ruang kerja Anda menggunakan tautan pribadi atau kebijakan jaringan keluar yang dibatasi, verifikasi bahwa domain yang diperlukan sudah ada dalam daftar putih. Entri daftar izin keluar yang hilang adalah penyebab umum kegagalan penyebaran di lingkungan Private Link. Lihat Menerapkan aplikasi di lingkungan Private Link.

Untuk penyebaran repositori Git:

  • Untuk repositori privat, verifikasi bahwa perwakilan layanan aplikasi memiliki kredensial Git yang dikonfigurasi.
  • Verifikasi bahwa URL repositori Git sudah benar dan bahwa referensi Git (cabang, tag, atau penerapan) ada di repositori.
  • Jika admin ruang kerja memberlakukan penyebaran khusus Git, Anda tidak dapat menyebarkan atau memulai aplikasi kecuali memiliki repositori Git yang dikonfigurasi.
  • Jika Anda menyebarkan dari CLI, API, atau Bundel Otomatisasi Deklaratif, buat aplikasi terlebih dahulu, lalu tambahkan kredensial Git ke perwakilan layanan aplikasi.

Langkah selanjutnya