Deploying Rails App on Openshift Kubernetes Cluster
Halo..
Kali ini saya akan membagikan cara deploy rails app on Openshift kubernetes cluster, Pascales-way. Mengapa Pascales-way? Karena tutorial yang saya dapat dari sini masih terlalu rumit buat saya yang noob ini. Jadi seandainya Anda mencoba mengikuti langkah langkah saya, resiko ditanggung penumpang njih hehehe.
Okay kita mulai,
1. Create Free Account di Openshift.com, Anda akan mendapatkan 1GiB Memory, 1 GiB presistent storage, 1 GiB terminating memory dan community support
2. Instal oc-CLI di https://docs.openshift.org/latest/cli_reference/get_started_cli.html
3. Setelah create account, kemudian click “open web console”
4. Pilih dari Ruby+postgreSQL dari Browse Catalog (untuk free account hanya diijinkan untuk memiliki 1 project saja)
5. Ikuti steps nya
pada field Git repository URL, biarkan saja default (https://github.com/openshift/rails-ex.git )
6. Setelah itu, login ke github.com dan kemudian clone/download sample app dari openshift https://github.com/openshift/rails-ex.git
7. Kemudian kembali ke Openshift web console, Build section ~> configuration, kemudian gantilah source repo ke source repo yang baru saja di clone/download, misal https://github.com/nama-anda/rails-ex.git
8. Copy Github webhook URL yang terdapat dibagian sebelah kanan halaman.
9. Kembali ke https://github.com/nama-anda/rails-ex.git buka setting ~> webhook ~> add webhook. paste di Payload URL, save.
10. Kemudian clone repo github anda
$ git clone https://github.com/nama-anda/rails-ex.git
11. Cd ke folder rails-ex lakukan bundle install, kemudian rails db:migrate
12. Cek error message di terminal untuk mengetahui nama database yg belum dibuat, misal :
pascales $ rails db:migrate
rails aborted!
ActiveRecord::NoDatabaseError: FATAL: database “pascales” does not exist
13. Lanjutkan dengan create database dengan nama yang diminta, lanjutkan lagi dengan rails db:migrate
14. Jalankan rails server
15. Buka web browser pergi ke localhost:3000
16. Nah, menggunakan text editor anda, buka welcome_controller.rb didalam sample app tadi, hapus line : render :file => ‘public/index.html’ maka rails akan me render views/index.html.erb
17. Restart rails server, dan reload localhost:3000 lagi
18. oke sekarang sample app nya sudah berjalan di local, langkah berikutnya adalah git add, comit kemudian push ke master di github yang secara otomatis akan terdeploy ke Openshift melalui webhook yg sudah kita set up tadi.
19. Cek di Openshift
21. Nah, sekarang sudah sinkron. Silakan buka folder rails-ex dan mulai bangun aplikasi Anda.
Wah panjang beud yah. Mudah-mudahan tidak ada yang terlewatkan. Honestly saya belum terlalu menguasai ini dan masih perlu banyak belajar. So, sekali lagi resiko ditanggung penumpang yah hehe.
Cheers!