วันพุธที่ 10 ตุลาคม พ.ศ. 2561

Tutorial 5 : deploy

Heroku

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
เพื่อทำการเปิด เซิฟเวอร์แล้วจะได้ผลลัพธ์ ดังนี้


ไม่มีความคิดเห็น:

แสดงความคิดเห็น