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. Lihat Menyebarkan dari folder ruang kerja.
  • 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. Lihat Menyebarkan dari repositori Git.

Anda dapat beralih antara ruang kerja dan sumber Git untuk aplikasi yang sama kapan saja. Lihat Memperbarui atau menyebarkan ulang aplikasi.

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. pada pengalih aplikasi >Analytics and AI, lalu klik Ikon WorkspaceWorkspace dan buka 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 lalu Buat aplikasi kustom. Lihat Membuat aplikasi Databricks kustom.
  4. Di langkah Konfigurasi Git , masukkan URL repositori Git (misalnya, https://github.com/org/repo) dan pilih penyedia Git.
  5. Untuk aplikasi baru, masukkan referensi Git (cabang, tag, atau commit) dan, untuk repositori GitHub, secara opsional aktifkan deploy otomatis saat ada push. Lihat Mengaktifkan penyebaran Git otomatis.
  6. Klik Buat aplikasi atau Simpan untuk kembali ke halaman gambaran umum aplikasi.
  7. Untuk repositori privat, perwakilan layanan aplikasi harus memiliki kredensial Git yang dikonfigurasi. Pada halaman gambaran umum aplikasi, klik Konfigurasikan kredensial 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. (Opsional) Untuk melakukan deployment secara otomatis pada setiap commit ke branch, aktifkan Deployment otomatis pada event push. Anda harus menetapkan Cabang yang dipantau. Secara opsional, Anda dapat menyertakan jalur kode Sumber untuk mengatur jalur selain akar repositori. Lihat Mengaktifkan penyebaran Git otomatis.
  7. 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.

Mengaktifkan penyebaran Git otomatis

Penting

Penyebaran otomatis dari Git ada di Beta. GitHub adalah satu-satunya penyedia yang didukung selama Beta.

Saat Anda mengaktifkan penyebaran otomatis, Azure Databricks membuat webhook di repositori GitHub Anda dan menyebarkan ulang aplikasi Anda setiap kali cabang yang dikonfigurasi menerima penerapan baru. Aplikasi yang Anda sebarkan tetap sinkron dengan repositori Anda tanpa langkah manual apa pun. Repositori dibatasi hingga 20 webhook (250 untuk GitHub Enterprise).

Penyebaran otomatis memerlukan penyiapan berikut:

  • Aplikasi Azure Databricks GitHub harus diinstal pada repositori.
  • Repositori harus bersifat pribadi. Databricks tidak mendukung penyebaran otomatis dari repositori publik.
  • Perwakilan layanan aplikasi harus memiliki kredensial Git dengan akses ke repositori. Lihat Menyambungkan penyedia Git Anda ke Databricks.

Untuk mengaktifkan penyebaran otomatis, konfigurasikan GitHub sebagai penyedia Git dan aktifkan Auto sebarkan pada peristiwa push. Anda dapat melakukan ini di salah satu tempat berikut:

Referensi Git harus berupa nama cabang. Tag tidak kompatibel dengan penyebaran otomatis.

Nota

Jika perwakilan layanan aplikasi tidak memiliki kredensial Git untuk repositori, Azure Databricks meminta Anda untuk menambahkannya saat Mengaktifkan penyebaran otomatis. Mengotorisasi akses memungkinkan penyebaran otomatis, tetapi Anda harus menyebarkan ulang aplikasi secara manual untuk memulainya.

Untuk menonaktifkan penyebaran otomatis, klik lencana Penyebaran otomatis di aplikasi yang ada dan nonaktifkan Penyebaran otomatis pada peristiwa pendorongan. Anda juga dapat mengonfigurasi ulang pengaturan di Pengaturan Aplikasi.

Gunakan Git untuk penyebaran eksklusif

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

Saat Anda menerapkan penyebaran Git:

  • 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.

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 gambaran umum aplikasi menunjukkan status saat ini dan menyediakan akses ke log, riwayat penyebaran, dan informasi lingkungan.

Menampilkan halaman gambaran umum 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. Jika referensi Git berubah atau Anda beralih dari sumber ruang kerja, klik panah di samping Sebarkan dan pilih Sebarkan menggunakan sumber lain.

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