Heroku เป็น Platform as a Service (Paas) ที่ให้เราใช้งานได้ฟรี (มีแบบเสียเงินด้วย) โดยรองรับภาษาโปรแกรมที่หลากหลาย เช่น Ruby, PHP, Node.js, Python, Java, Clojure, Scala และยังสามารถสร้าง buildpack สำหรับภาษาอื่นๆได้ เช่น Lua ที่รันอยู่บน OpenResty ได้อีกด้วย
ref : link
นำ Heroku มาใช้กับงานของเรา
ก่อนอื่นก็ทำการสมัครสมาชิก ก่อน คลิก ปุ่ม Sign up บนขวา
จากนั้นทำการกรอกข้อมูลให้ครบถ้วน และทำการ ยืนยัน ตามขั้นตอนให้เสร็จแล้ว Login เข้ามาใช้งาน
จากนั้นกรอกรายละเอียด
จากนั้น จะขึ้นมาที่หน้าตานี้
เนื่องจาก เราจำเป็นต้องใช้ ฐานข้อมูล ด้วย และ Heroku ไม่สามารถใช้งาน Sqlite3 ได้ จึง ต้องใช้ ตัวอื่นแทน ซึ่งในที่นี้จะใช้งาน MySQL แทน
gem 'mysql2', '~> 0.3.18'
ซึ่งทำให้จำเป็นต้องแทน ที่ gem ในไฟล์ gem เก่าด้วย mysql2
และทำการ
bundle installจากนั้นไปดู ที่ หน้า resource แล้วเลือก add on พิมหา ClearDB จากนั้นเพิ่ม เข้ามา
โดยสามารถกำหนด แผนได้ว่าจะใช้ค่าใช้จ่ายเท่าไหร่ [ อาจจะจำเป็นต้องเชื่อมบัตร เครดิต ก่อนด้วย ]
ให้เข้าหน้า setting แล้วไปที่ Config Vars แล้วเปลี่ยน จาก
CLEARDB_DATABASE_URL
ไปเป็น
DATABASE_URL
จากนั้น โหลด Heroku CLI จาก https://devcenter.heroku.com/articles/heroku-cli
และ เข้าไปที่ Promtps และ พิม
$ heroku login
และทำการ Login ด้วย heroku id
จากนั้น ไป ที่ ๆ มี โปรเจ็ค งาน ที่พร้อม ใช้งานแล้วจากนั้น
git init
heroku git:remote -a pos-service-token
สร้าง git repo และทำการ เชื่อมโยงกับ heroku โดย ส่วนสีแดงคือชื่อโปรเจค ที่จะอัพลงไป
แต่นี้ยังไม่ได้่อัพ หรือ deploy เราจะเป็นต้อง
git add *
git commit -m "commit ??"
git push heroku master
เพียงเท่านี้ ก็ทำการอัพโหลด โค้ดหรือโปรเจค ล่าสุดที่ทำการ commit แล้ว
หาก ใช้งานหลายคน อาจจะมีการ merge กัน ได้ ควร pull มาแก้ไขก่อนใช้งานจริง
ส่วนการใช้งานคำสั่ง command line ผ่าน heroku
สามารถทำได้โดย
heroku run คำสั่ง
ได้เลย
และ หากมีการใช้งาน database เหมือนงานชิ้นนี้
ก็อาจจะต้องทำการ ใช้คำสั่ง
heroku run 'rake db:setup'
เพื่อจัดการ ในครั้งแรก อีกด้วย ซึ่ง ในงานของเรา เนื่องจากมีการเปลี่ยน ฐานข้อมูลจาก
sqlite3 > mysql
รัน heruoku run rake db:migrate เพื่อทำการสร้างดาต้าเบส แทน set up
ผลลัพธ์
หลังจากอัพโหลด แล้ว แก้ไข ส่วนของฐานข้อมูลเสร็จแล้ว ทำการ heroku run rails server
เพื่อทำการเปิด เซิฟเวอร์แล้วจะได้ผลลัพธ์ ดังนี้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น