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 yang disebut 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 ke Apigee Edge menggunakan utilitas command line yang disebut apigeetool. Utilitas ini 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 dijalankan dalam konteks platform Edge. Selanjutnya, Anda dapat memanggil aplikasi melalui URL proxy barunya, dan dapat memberi nilai tambah dengan "menambahnya" menggunakan fitur Edge standar seperti keamanan OAuth, kebijakan kuota, kebijakan perlindungan ancaman, alur kondisional, penyimpanan cache, dan banyak lagi.

Apa yang dilakukan apigeetool?

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

  • Menghasilkan paket konfigurasi proxy API untuk menyimpan aplikasi Node.js.
  • Mengemas aplikasi Node.js dengan paket Node.js yang diinstal dengan NPM (Node Packaged Modules).
  • Mengimpor paket konfigurasi proxy API ke organisasi yang ditentukan di Apigee Edge menggunakan API pengelolaan Edge.
  • Men-deploy proxy API ke lingkungan.
  • Menjalankan 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 Alat Platform API dari GitHub. Lihat file README di direktori root repositori untuk mendapatkan petunjuk penginstalan.

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

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

$ apigeetool -h

Men-deploy aplikasi Node.js ke Edge dengan apigeetool

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

Untuk men-deploy aplikasi Node.js menggunakan apigeetool:

  1. Di jendela terminal, cd direktori utama 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. Tampilannya 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: di-deploy", itu saja. Semuanya berjalan lancar. Aplikasi Node.js Anda digabungkan dalam proxy API, di-deploy ke Edge, dan berjalan serta menunggu untuk menangani permintaan. Aplikasi siap diuji.

  4. Uji proxy Anda. Contoh:

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

Cara apigeetool menangani file dan modul dependen

Jika aplikasi Node.js Anda bergantung pada modul yang diinstal, apigeetool akan menanganinya dengan mengompresi 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 akan mengompresi dan men-deploynya dengan 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 tentang 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 dalam proxy API adalah dengan menambahkan aplikasi tersebut saat Anda membuat proxy. Anda dapat melakukannya sepenuhnya melalui UI pengelolaan dan dialog Proxy API Baru.

  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, kita menyebutnya hellonode.
  5. Tambahkan versi /v1 ke Jalur Dasar Project. Membuat versi API adalah praktik terbaik.
  6. Klik Build.
  7. Klik Develop untuk memasuki 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 dengan 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, yang merupakan 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. Di tampilan Develop, pilih New Script dari menu Baru.
  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 Skrip Navigator.

[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","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 ke proxy:

  1. Di tampilan Develop, pilih New Script dari menu New.
  2. Pada dialog Add Script, klik Import Script.
  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 akan muncul di bagian Skrip di Navigator dan terbuka di editor.
  6. Klik Simpan.

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

Memanggil file Node.js yang diimpor

Anda tidak dapat langsung memanggil file Node.js yang baru diimpor atau dibuat. Alasannya adalah bahwa Edge mengharuskan satu file Node.js menjadi file main. File utama ditentukan dalam elemen <ScriptTarget> dari definisi Target Endpoint. Untuk menentukan file mana yang merupakan file Node.js utama, lakukan tindakan berikut:

  1. Di bagian Target Endpoints di Navigator, klik nama endpoint target (biasanya disebut default).
  2. Di Editor kode, edit elemen <ScriptTarget> dengan mengubah <ResourceURL> untuk mencerminkan nama file yang ingin Anda jadikan file Node.js utama. Misalnya, jika ingin file bernama hello-world.js menjadi file utama, Anda harus memasukkan: 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!, dengan jalur dasar v1/hello ditentukan. Namun, Anda dapat mengubah jalur dasar dengan mengedit Endpoint Proxy.

  1. Di bagian Endpoint Proxy di Navigator, klik nama endpoint proxy (biasanya disebut default).
  2. Di Editor kode, edit elemen <HttpProxyConnection> dengan mengubah <BasePath> ke 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:

    &lt;BasePath&gt;/v1/my-node-file&lt;/BasePath&gt;
  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 kembali proxy ke sistem, mengerjakannya di sana, lalu mengimpornya kembali ke Edge menggunakan UI pengelolaan. Jenis teknik pengembangan round-trip 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 kembali paket proxy 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 mengetahui detailnya.

Langkah Berikutnya

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