Monday, February 12, 2018

Integration Jenkins with Bitbucket

Hallo rekan-rekan Nostra, kali ini saya ingin berbagi tentang integrasi Jenkins dan Bitbucket. Nah diharapkan dengan intergrasi ini, ketika developer melakukan proses commit di repository, maka akan otomatis deploy job dari setiap repository di jenkins. Jadi akan menghemat waktu development, dibanding harus memanggil devops untuk deploy job di jenkins.

Pertama kita buka dashboard jenkins, lalu install plugin Bitbucket Plugin
dapat diakses melalui Manage Jenkins -> Manage Plugins -> tab Available -> Lalu pilih Bitbucket Plugin.













Setelah itu, masuk ke halaman Bitbucket. Untuk menambahkan webhook.









Klik repo yang akan ditambahkan webhook, lalu klik Setting -> Webhook -> Add Webhook












Lalu lengkapi form yang dibutuhkan akses webhook,
  • Title : nama webhook ex: jenkins
  • URL : url jenkins/bitbucket-hook
    ex: http://aegisdevapp03.southeastasia.cloudapp.azure.com:8080/bitbucket-hook/
  • Status : active
  • Repository : push


















Selanjutnya, kembali masuk ke jenkins dan job yang akan kita deploy. Klik Configure pada job.
Lalu pada Build Trigger, beri tanda centang untuk pilihan "Build when a changed is pushed to Bitbucket".













Lalu Klik Save.

Untuk pengujian bisa dilakukan dengan melakukan perubahan di repository langsung. Maka akan otomatis jenkins akan deploy job dari repo tersebut.

Selamat mencoba.

Wednesday, January 24, 2018

Quick Back End. Membuat API Sederhana dalam 10 menit dengan MockAPI

Hai Geeks

Di posting pertama tahun 2018 ini kita akan mencoba hal simple, dalam waktu kurang dari 10 menit kita akan membuat API sederhana tanpa ngoding sama sekali dan fully function dengan MockAPI.

Langkah pertama login, bisa menggunakan pilihan email biasa, authentikasi email yang terintegrasi GMail ataupun Github




Langkah kedua, buat project sebagai grouping beberapa API yang akan digunakan dalam 1 project


Langkah ketiga, buat resource. Resource name adalah endpoint nya dan diibaratkan nama tabelnya. Schema adalah response body sekaligus request body dan diibaratkan nama kolomnya


Langkah keempat, generate data dummy dengan mengubah angka disebelah resource. Dapat generate hingga 100 data dummy


Terakhir, Silahkan coba endpoint tersebut di Postman untuk GET,  POST,  PUT dan DELETE

Kelebihan mockAPI
- Mudah
- Cepat
- Fully Function
- Tanpa ngoding back end
- Bisa menggunakan template

Kelemahan
- Tidak bisa yang kompleks
- Bisa diakses publik

Selamat mencoba


Saturday, December 16, 2017

Penggunaan Postman Collection Runner

Setelah menjelaskan salah satu fitur Postman yaitu scripting, saya menjadi gatal ingin menjelaskan fitur postman lainnya, yaitu Collection Runner. Sebelum menjelaskan mengenai Collection Runner, saya akan menjelaskan Collection pada Postman.

Collection adalah sekumpulan request yang dapat dikerjakan bersamaan secara serial (bukan paralel) dengan menggunakan Collection Runner, sebagian dari kita hanya menggunakan fitur Collection ini untuk nilai estetika (biar kelihatan rapih) ataupun agar lebih mudah dalam melakukan sharing API.

Contoh Collection pada Postman

Collection Runner ini sangat berguna dalam melakukan automasi testing.

Dalam melakukan Collection Runner, hal pertama yang harus diperhatikan adalah Collection yang akan ditest,seperti yang saya jelaskan sebelumnya Collection Runner melakukan penembakan secara serial bukan paralel, jadi urutan request harus kita perhatikan dengan baik.

Untuk melakukan Collection Runs, kita harus men-klik tombol Runner.

Tombol Runner pada Postman

Setelah men-klik tombol Runner, akan muncul sebuah window dimana kita akan melakukan konfigurasi dari Collection Runs, kita akan menentukan Collection mana yang akan dipakai untuk Collection Runs, environment apa yang akan kita pakai pada, jumlah iterasi dari Collection Runs, delay antar request, bagaimana logging dari Collection Runs berlangsung, dan data yang akan dipakai pada Collection Runs.

Konfigurasi dari Collection Runs

Sebagai contoh saya akan melakukan test Collection Runs dengan menggunakan Collection dari Backend Example Spring Template Nostra, dan berikut hasilnya:

Hasil testing Collection Run dari Backend Example Nostra

Dapat dilihat pada hasil test diatas kita akan mendapatkan HTTP Status Code, lama penerimaan, dan besar dari response yang didapat. bila kita menggunakan scripting untuk melakukan testpun dapat dilihat apakah akan lolos atau gagal. Untuk melihat data dari request yang kita tembakkan dan response yang kita dapatpun cukup mudah, yaitu dengan menklik nama request yang kita tembakkan.

Detil informasi dari request yang ditembakkan dan hasilnya.

Hal ini akan memudahkan kita bila kita ingin melihat perbandingan antar teknologi seperti bila kita ingin membedakan manakah teknologi dengan performa terbaik apakah OSB+BPEL, OSB+BPEL(dengan Java Callout), atau OSB+Spring. Selain itu hal ini akan memudahkan kita dalam melakukan testing dengan request yang sangat banyak.

Collection Runner ini juga menyediakan fitur pengambilan data dari sebuah file sebagai data yang akan dipakai pada request kita, fitur ini pernah saya gunakan dalam melakukan penambahan data dalam table SQL dengan penembakkan dari postman, file yang dapat diterima berbentuk JSON data ataupun CSV data. dalam penggunaannya yang pertama harus kita lakukan adalah menggunakan variabel yang sesuai dengan nama field dari json ataupun dari csv, sebagai contoh:

Penggunaan unregistered environment variable untuk menggunakan data dari field JSON ataupun CSV

Diatas saya menggunakan variabel "path" dan "value", setelah itu kita klik tombol "Select File" pada field Data untuk memilih JSON/CSV file kita, berikut hasi preview dari file CSV yang saya pilih:

Hasil preview dari file CSV yang saya pilih

Dapat dilihat terdapat dua field yaitu path, dan value, jumlah iterasi akan disesuaikan dengan jumlah data yang ada pada file yang saya pilih, namun tetap dapat kita rubah, setelah saya tembakkan berikut request yang saya kirimkan:

Request yang ditembakkan postman

Dapat dilihat url yang sebelumnya adalah postman-echo.com/{{path}} menjadi postman-echo.com/post dan body yang sebelumnya adalah foo {{value}} menjadi foo 1, variabel yang saya gunakan pada request akan diisi oleh data dari file yang saya pilih.

Ada berbagai macam cara dalam mengutilisasikan fitur Collection Runner pada Postman, salah satunya adalah untuk melakukan automasi testing. Fitur dari Collection Runner ini dapat digabungkan dan dimanipulasi dengan fitur Scripting dari Postman untuk menghasilkan sesuatu yang sangat memudahkan kita dalam melakukan testing.

Sekian penjelasan saya untuk kali ini.

Terimakasih.



Sublime Text 3

Halo Nostra Readers!

Kali ini saya akan sharing mengenai Sublime Text.

Apa sih Sublime Text?
Sublime Text merupakan teks editor yang sangat ampuh, cocok digunakan untuk melakukan coding dalam berbagai bahasa, dimana Sublime Text sudah menyediakan format syntax dari bahasa-bahasa pemrograman yang ada. Misal kita akan coding bahasa Java, maka sublime sudah menyediakan formatting pada teks editor, seperti memberikan warna-warna yang berbeda pada syntax Java. Untuk lebih jelas dapat lihat pada gambar dibawah.



dapat dilihat Sublime Text sudah membedakan warna untuk tipe data, nama variabel, nilai, dan nama class yang mana merupakan syntax dari Java itu sendiri.
Versi terbaru dari Sublime Text kali ini adalah versi 3.0. Hingga kini, beberapa bahasa sudah disiapkan seperti pada gambar berikut.


Kemudian kita dapat menambahkan folder proyek kita untuk memudahkan navigasi file ketika menggunakan Sublime Text. Dapat dilakukan dengan klik File lalu Open Folder. Dengan melakukan itu akan muncul tampilan sebagai berikut.



Selain itu, Sublime Text memberikan beberapa fitur yang dapat memudahkan pengguna dalam melakukan coding, misalkan kita ingin mencari suatu file di dalam sebuah proyek yang besar dan rumit, cukup dengan menekan Ctrl + P kita dapat mencari file yang ingin kita cari, baik itu bagian dari nama file, maupun kata dari dalam file yang dibuka dengan tanda '#'.



Sublime Text juga dapat melakukan editing secara paralel. User dapat memilih line mana saja yang ingin diedit dengan Ctrl + klik, lalu dengan mudah mengetik apa yang user inginkan.



Fitur find and replace pada Sublime Text sangat berguna juga. Dengan menekan Ctrl + H, akan diberikan tampilan dibawah sublime text berupa input find dan replace. Disini kita dapat dengan mudah mereplace, baik itu kata maupun variabel yang berulang dengan mudah.



Lalu untuk melakukan comparing coding, Sublime Text dapat memberikan user tampilan layout baik dengan tampilan per kolom ataupun per baris sehingga user dapat dengan mudah melihat code dari file lain dengan mudah.



Masih banyak lagi hal-hal yang bisa dieksplorasi pada Sublime Text ini, seperti mengubah tema sehingga warna-warna pada code kita terasa nyaman untuk kita. Lalu menambah plugin-plugin yang ada pada internet maupun forum nya. Kita juga dapat membaca dokumentasi dari Sublime Text pada link berikut.

Sekian dulu sharing dari saya, semoga bermanfaat dan memudahkan dalam coding!

Happy Coding!

Unit Testing AngularJS Application Using Karma, Jasmine and PhantomJS

Hallo, bersua lagi dengan saya yg kali ini akan membahas mengenai Unit Testing pada aplikasi AngularJS.

Singkatnya unit testing adalah pengujian terkecil dari sebuah code, hal yang diuji tersebut adalah event, method, dan class.

Selayang pandang mengenai Tools yang digunakan:

Karma: Merupakan test runner yang berfungsi mengeksekusi segala test script yang ditulis.

Jasmine: Sebuah framework behaviour driven development untuk menulis test script yang akan dieksekusi oleh karma.

PhantomJS: Merupakan headless browser, yaitu browser yang tidak memiliki interface namun dapat memanipulasi DOM.

sebelumnya kita dapat menginstall karma dengan script berikut:

npm install karma --save-dev

menginstall jasmine:

npm install jasmine --save-dev

dan script install PhantomJS seperti berikut:

npm install phantomjs --save-dev

dan untuk menjalankan phantomjs kita harus menginstall third party yaitu phantom launcher dengan script ini:

npm install karma-phantomjs-launcher


Jadi setelah berhasil terinstall semua tools yang kita butuhkan untuk melakukan unit testing, kurang lebih akan seperti ini directory project yang kita miliki:





Mari Membuat Test Script dengan Jasmine

Jasmine dapat mengeksekusi test script yang dibuat berdasarkan cara penulisan yang sangat mudah. Untuk mengetahui cara menulis dengan menggunakan Jasmine dapat dilihat dokumentasinya disini.

Test script yang saya buat seperti berikut:

TestSpec.js


Controller yang akan diuji:



Untuk menjalankan test script diatas kita harus memasukan filenya pada karma.conf.js. Hal tersebut dapat melihat caranya pada blog saya yang satu ini: http://blog.nostratech.com/2017/12/set-up-karma-pada-grunt-task-runner.html

Running Karma Task Runner:

Untuk melakukan running test script karma, dapat menjalankan command:

karma start karma.conf.js

Hasil test script dapat ditampilkan dalam format txt ataupun html.

Hasil test script seperti ini jika dalam format html:
Hasil test script dalam format txt:


Menarik bukan? 

Demikianlah yang bisa saya bagikan, selamat mencoba kawan and happy coding :D