Men-deploy aplikasi Node.js mandiri

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Topik ini menjelaskan cara men-deploy aplikasi Node.js dari sistem lokal Anda ke Apigee Edge. Dalam topik ini, kita akan membahas cara menggunakan alat command line bernama apigeetool untuk men-deploy aplikasi Node.js ke Apigee Edge.

Tentang men-deploy kode Node.js ke Apigee Edge

Anda dapat men-deploy aplikasi Node.js API yang ada, termasuk modul Node.js dependen, dari sistem lokal Anda ke Apigee Edge menggunakan utilitas command line yang disebut apigeetool. Utilitas ini secara otomatis memaketkan aplikasi dan dependensinya ke dalam proxy API dan men-deploy-nya di Edge.

Misalnya, Anda menggunakan Express untuk membuat aplikasi web di Node.js. Aplikasi berjalan sebagai server HTTP yang memproses permintaan HTTP, memproses permintaan tersebut, menampilkan data, dan sebagainya. Saat Anda menggunakan apigeetool untuk men-deploy aplikasi Node.js ke Edge, aplikasi tersebut akan digabungkan dalam proxy dan dieksekusi dalam konteks platform Edge. Selanjutnya, Anda dapat memanggil aplikasi melalui URL proxy barunya, dan dapat memberi nilai tambah dengan "mendaninya" menggunakan fitur Edge standar seperti keamanan OAuth, kebijakan kuota, kebijakan perlindungan ancaman, alur bersyarat, caching, dan banyak lagi.

Apa fungsi apigeetool?

Saat Anda menjalankan utilitas apigeetool dengan opsi deploynodeapp, utilitas akan:

  • Menghasilkan paket konfigurasi proxy API untuk menampung aplikasi Node.js.
  • Memaketkan aplikasi Node.js dengan paket Node.js apa pun yang diinstal dengan NPM (Modul Paket Node).
  • Mengimpor paket konfigurasi proxy API ke organisasi yang ditentukan di Apigee Edge menggunakan Edge management API.
  • Men-deploy proxy API ke lingkungan.
  • Mengeksekusi aplikasi Node.js di Apigee Edge dan menyediakannya melalui jaringan.

Bersiap untuk menggunakan apigeetool

Sebelum memulai, Anda perlu menginstal utilitas apigeetool.

Anda dapat menginstal apigeetool melalui npm atau dengan meng-clone dan menautkan kode dari GitHub.

Penginstalan dari npm

Modul apigeetool dan dependensinya dirancang untuk Node.js dan tersedia melalui npm menggunakan perintah berikut:

$ sudo npm install -g apigeetool

Biasanya, opsi -g menempatkan modul di: /usr/local/lib/node_modules/apigeetool pada mesin berbasis *nix.

Penginstalan dari GitHub

Download atau clone API Platform Tools dari GitHub. Lihat file README di direktori utama repositori untuk mengetahui petunjuk penginstalan.

$ git clone https://github.com/apigee/apigeetool-node.git

Setelah menyelesaikan penginstalan, pastikan file apigeetool yang dapat dieksekusi berada di Path Anda. Anda dapat mengujinya dengan mengetik:

$ apigeetool -h

Men-deploy aplikasi Node.js ke Edge dengan apigeetool

Catatan: Sebelum melakukan deployment, Anda harus mengetahui nama organisasi Apigee Edge, nama pengguna, dan sandi untuk akun Apigee Edge Anda. Anda memerlukan informasi ini untuk membentuk perintah apigeetool dengan benar.

Untuk men-deploy aplikasi Node.js menggunakan apigeetool:

  1. Di jendela terminal, cd direktori root aplikasi Node.js Anda.
  2. Jalankan utilitas apigeetool dengan perintah deploynodeapp:

    $ apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}
    
    Misalnya:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. Periksa output di jendela terminal Anda. URL tersebut akan terlihat seperti ini:

    Importing new application myNodeApp
    Imported new app revision 1
    Deploying revision 1
      Deployed.
    Proxy: "myNodeApp" Revision 1
      Environment: test BasePath: /myNodeApp
      Status: deployed
    

    Jika Anda melihat "Status: diterapkan", berarti itu saja. Semuanya berjalan lancar. Aplikasi Node.js Anda digabungkan dalam proxy API, di-deploy ke Edge, dan sedang berjalan serta menunggu untuk menangani permintaan. Data siap diuji.

  4. Uji proxy Anda. Contoh:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. Jika ingin, login ke akun Apigee Edge Anda dan buka halaman API Proxies di UI pengelolaan. Anda akan melihat proxy baru Anda tercantum di sana.

Cara apigeetool menangani file dan modul dependen

Jika aplikasi Node.js Anda bergantung pada modul yang diinstal, apigeetool akan menanganinya dengan membuat zip folder node_modules dan menambahkannya ke paket proxy. Anda tidak perlu melakukan tindakan tambahan apa pun. Hal yang sama berlaku untuk setiap direktori yang berisi kode sumber tambahan. Utilitas apigeetool memasukkannya dalam zip dan men-deploy-nya bersama paket.

Anda tidak dapat mengedit file dalam direktori ZIP ini di editor UI pengelolaan Edge. Jika perlu mengubahnya, Anda dapat mengekspor project, mengedit file secara lokal, lalu men-deploy ulang menggunakan apigeetool atau dengan mengimpor project yang diekspor menggunakan UI pengelolaan. Lihat juga "Mengekspor dan mengimpor proxy dengan kode Node.js".

Informasi penggunaan dasar untuk apigeetool

Untuk informasi penggunaan dasar parameter input utilitas apigeetool, masukkan:

$ apigeetool deploynodeapp -h

  Usage: deploynodeapp -n [name] -o [organization] -e [environment]
  -d [directory name] -m [main script file]
  -u [username] -p [password]
  -b [base path] -l [apigee API url] -z [zip file] -i -h
  -o Apigee organization name
  -e Apigee environment name
  -n Apigee proxy name
  -d Apigee proxy directory
  -m Main script name: Should be at the top level of the directory
  -u Apigee user name
  -p Apigee password
  -b Base path (optional, defaults to /)
  -L Apigee API URL (optional, defaults to https://api.enterprise.apigee.com)
  -z ZIP file to save (optional for debugging)
  -i import only, do not deploy
  -R Resolve Node.js modules on Apigee Edge. Equivalent to running npm install on your project. 
  -U Uploads Node.js modules to Apigee Edge. 
  -h Print this message

Membuat proxy baru dengan file Node.js yang ada

Cara lain untuk mengintegrasikan aplikasi Node.js yang ada ke proxy API adalah dengan menambahkan aplikasi tersebut saat Anda membuat proxy. Anda dapat melakukannya sepenuhnya melalui UI pengelolaan dan dialog New API Proxy.

  1. Dari halaman ringkasan proxy API, klik +API Proxy.
  2. Pada dialog New API Proxy, pilih Existing Node.js.
  3. Gunakan tombol Pilih File untuk memilih satu atau beberapa file Node.js yang akan diimpor.
  4. Beri nama proxy. Dalam contoh ini, kami menyebutnya hellonode.
  5. Tambahkan versi /v1 ke Jalur Dasar Project. Membuat versi API adalah praktik terbaik.
  6. Klik Build.
  7. Klik Develop untuk masuk ke tampilan Develop.
  8. Buka file TargetEndpoint di editor kode.
  9. Pastikan elemen <ScriptTarget> menentukan file Node.js utama, seperti berikut:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
    
  10. Klik Simpan.

Menambahkan dan memanggil file resource Node.js baru

Cara lain untuk menambahkan kode Node.js ke proxy adalah menambahkannya secara langsung, baik melalui UI maupun dengan menguploadnya dari sistem file lokal Anda. Anda juga dapat menentukan file Node.js mana yang merupakan file utama, yaitu file yang dipanggil Edge saat proxy di-deploy.

Menambahkan file Node.js baru melalui UI

UI pengelolaan memungkinkan Anda menambahkan file sumber Node.js tambahan ke proxy yang ada di platform Edge. Anda dapat membuatnya langsung di UI atau mengimpornya dari sistem file. Pertama, mari kita lihat cara melakukannya dari UI.

Untuk membuat file resource Node.js baru:

  1. Dalam tampilan Develop, pilih New Script dari menu New.
  2. Pada dialog Tambahkan Skrip, pilih jenis file Node dan beri nama skrip.
  3. Klik Tambahkan.

File Node.js baru yang kosong akan terbuka di editor. Anda dapat memotong dan menempelkan kode ke dalam file. File ini juga muncul di bagian Scripts pada Navigator.

[[{"type":"media","view_mode":"media_large","fid":"2431","attributeslmalt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]

Mengimpor file Node.js dari sistem file Anda

Untuk import file Node.js dari sistem file Anda ke proxy:

  1. Dalam tampilan Develop, pilih New Script dari menu New.
  2. Pada dialog Tambahkan Skrip, klik Impor Skrip.
  3. Gunakan alat file untuk memilih file Node.js Anda.
  4. Nama file ditambahkan ke dialog, tetapi Anda dapat mengubahnya jika ingin.
  5. Klik Tambahkan. File ini akan muncul di bagian Scripts Navigator dan terbuka di editor.
  6. Klik Simpan.

Jika ingin memanggil file yang diimpor, Anda perlu melakukan langkah tambahan, seperti yang dijelaskan di bagian berikutnya.

Memanggil file Node.js yang diimpor

Anda tidak bisa begitu saja memanggil file Node.js yang baru diimpor atau dibuat. Alasannya karena Edge mengharuskan satu file Node.js menjadi file utama. File utama ditentukan dalam elemen <ScriptTarget> definisi Target Endpoint. Untuk menentukan file mana yang merupakan file Node.js utama, lakukan hal berikut:

  1. Pada bagian Endpoint Target di Navigator, klik nama endpoint target (biasanya disebut default).
  2. Pada Code editor, edit elemen <ScriptTarget> dengan mengubah <ResourceURL> untuk mencerminkan nama file yang ingin Anda jadikan file Node.js utama. Misalnya, jika Anda ingin file bernama hello-world.js menjadi file utama, masukkan: node://hello-world.js dalam elemen ResourceURL.
  3. Klik Simpan.

Pada tahap ini, Anda dapat memanggil file dengan jalur proxy apa pun yang Anda gunakan sebelumnya. Misalnya, kita telah melihat contoh Hello World!, tempat jalur dasar v1/hello ditentukan. Namun, Anda dapat mengubah jalur dasar dengan mengedit Endpoint Proxy.

  1. Di bagian Proxy Endpoints di Navigator, klik nama endpoint proxy (biasanya disebut default).
  2. Di Code editor, edit elemen <HttpProxyConnection> dengan mengubah <BasePath> menjadi nama apa pun yang Anda inginkan. Misalnya, jika <BasePath> saat ini adalah v1/hello dan Anda menginginkannya menjadi v1/my-node-file, ubah elemen <BasePath> seperti ini:

    <BasePath>/v1/my-node-file</BasePath>
  3. Klik Simpan.
  4. Panggil proxy menggunakan jalur dasar baru, seperti ini:

    $ curl http://myorg-test.apigee.net/v1/my-node-file
    Hello, World!
    

Mengekspor dan mengimpor proxy dengan kode Node.js

Setelah men-deploy proxy yang berisi kode Node.js ke Edge, Anda dapat mengekspor proxy kembali ke sistem, mengerjakannya di sana, lalu mengimpornya ulang ke Edge menggunakan UI pengelolaan. Teknik pengembangan bolak-balik semacam ini biasa digunakan.

  1. Dari halaman ringkasan proxy API, klik Develop.
  2. Di halaman Pengembangan, pilih Download Current Revision.
  3. Ekstrak file yang didownload di sistem Anda.

Anda dapat mengimpor paket proxy kembali ke Edge dengan memilih Import Into New Revision dari menu yang sama.

Anda juga dapat menggunakan API untuk men-deploy proxy. Lihat Men-deploy proxy dari command line untuk detailnya.

Langkah Berikutnya

Dalam topik berikutnya, Menambahkan Node.js ke proxy API yang ada, kami menjelaskan cara menambahkan aplikasi Node.js ke proxy yang ada di sistem file Anda dan men-deploy-nya ke Edge.