วันอังคารที่ 2 พฤษภาคม พ.ศ. 2560

ลองใช้งาน Heroku ที่เป็น PaaS

สำหรับการนำ App ที่สร้างใน django ไป deploy ลงบน Heroku (Platform as a service) นั้น
จะต้องมีขั้นตอนเตรียมการ pack ให้เขารู้ก่อนว่า app ของเราต้องการใช้อะไรบ้าง


  • ทำการสมัครสมาชิกเว็บ Heroku
  • ติดตั้ง HerokuCLI สามารถเข้าไปดูได้ที่ Heroku
  • ติดตั้ง Virtual Environment เพื่อให้ไม่มีปัญหา เช่น projectA ใช้ django 1.8 projectB ใช้ django 1.10 กรณีติดตั้ง virtualenv จะรันได้ไม่มีปัญหา
  • พิมพ์คำสั่ง เพื่อใช้งาน virtualenv ในโฟลเดอร์ project เรา
    • source venv/bin/activate
  • ทำตามขั้นตอนไป  จนถึงขั้นตอน Build your app จะต้องติดตั้ง gunicorn เพิ่ม
  • จากนั้นทำตามขั้นตอน นี้ แต่ยังไม่ต้อง git push
  • เพราะว่ายังไม่ได้ตั้ง runtime ว่าจะให้ใช้ python version ไหน
  • เข้าไปที่โฟลเดอร์ project เรา สร้างไฟล์ runtime.txt พิมพ์ python-3.6.1 ลงไปแล้ว save
    • จากนั้นก็ commit อีกครั้ง ว่าเปลี่ยน runtime แล้ว
  • ตั้ง path ของ static โดยเข้าไปดูที่ reference 1 และ 3 แล้ว commit อีกรอบว่าตั้ง path แล้ว
    • ref 1 เข้าไปใน project/settings.py และเพิ่มบรรทัดข้างล่างลงไป
    • PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles') STATIC_URL = '/static/' # Extra places for collectstatic to find static files. STATICFILES_DIRS = ( os.path.join(PROJECT_ROOT, 'static'), )
  • เข้าไปใน settings.py เพื่อเพิ่ม allow_host ตามที่ url ที่เขาให้มา
    • หรือ อาจจะลอง push ไปก่อน จะขึ้น Disallow host at ...
    • จากนั้นเข้าไปแก้ใน settings.py เช่น
    • ALLOWED_HOSTS = ['gentle-springs-97441.herokuapp.com'] 
  •  จากนั้น push แล้วก็น่าจะใช้งานได้เลย
reference
  1. https://simpleisbetterthancomplex.com/tutorial/2016/08/09/how-to-deploy-django-applications-on-heroku.html
  2. https://devcenter.heroku.com/articles/deploying-python
  3.  http://stackoverflow.com/questions/12800862/how-to-make-django-serve-static-files-with-gunicorn
  4. http://stackoverflow.com/questions/40667519/why-is-django-throwing-error-disallowedhost-at

หรือ อีกวิธีคือให้ heroku connect ไปที่ github ของเรา



สามารถเข้าไปดู app ได้ที่
https://github.com/sovernut/scammerlist/commits/linux

Webapp:
https://gentle-springs-97441.herokuapp.com/





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

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

commit เพิ่มเติม : เพื่ม userstory, bookmark

>>  add userstory ทำการเพิ่ม userstory ใน functional tests >>  add bookmark for user เพิ่มระบบ Bookmark โดยการสร้าง model ขึ...