Phát triển ứng dụng web demo trên heroku

THỰC HÀNH PHÁT TRIỂN ỨNG DỤNG WEB/PHP TRÊN PaaS Heroku

Chủ đề 1 – Thiết lập môi trường phát triển

  • Tạo tài khoản trên Heroku:  Heroku account.
  • Cài đặt PHP trên máy tính cá nhân của bạn: PHP
  • Cài phần mềm Composer
  • Cài đặt Heroku Command Line Interface (CLI): https://devcenter.heroku.com/articles/getting-started-with-php#set-up
  • Cài đặt git : , install it
  • Kiểm tra các phần mềm đã cài đặt
    • Mở một terminal / cmd, đánh các lệnh sau
      • php -v
      • composer -V
      • git --version
  •  Đăng nhập vào platform Heroku
    • heroku login
    • Nhập email và mật khẩu bạn đã đăng ký trên heroku

Chủ đề 2 – Download ứng dụng php-getting-started từ Internet về máy cục bộ

  • Trong thư mục cá nhân của người dung (/home/user-name hoặc C:\Users\user-name), tạo thư mục có tên là DTDM
  • Mở cửa terminal
  • Chuyển vào thư mục DTDM
    • cd /home/user-name/DTDM
  • Download phần mềm php-getting-started từ kho Git trên Internet
    • git clone https://github.com/heroku/php-getting-started.git
  • Kiểm tra nội dung thư mục php-getting-started
    • ls php-getting-started
  • Khảo sát nội dung các tập php trong thư mục php-getting-started

Chủ đề 3 – Triển khai ứng dụngphp-getting-started lên Heroku

  • Chuyển vào thư mục của ứng dụng php-getting-started cần triển khai (sử dụng lệnh cd)
  • Đăng nhập vào heroku nếu chưa đăng nhập
    • heroku login
  • Triển khai ứng dụng lên Heroku theo tài liệu : https://devcenter.heroku.com/articles/getting-started-with-php#deploy-the-app gồm các bước sau:
    • Tạo một ứng dụng trên Heroku để đón nhận mã nguồn phần mềm chuyển lên
      • heroku create
    • Lưu ý tên ngẫu nhiên của ứng dụng được tạo ra trên Heroku và địa chỉ truy cập đến ứng dụng
  • Đẩy mã nguồn từ kho Git sang Heroku
    •  git push heroku master
  • Chạy một instance cho ứng dụng
    • heroku ps:scale web=1
  • Truy cập đến ứng dụng

heroku open

  • Các lệnh quản trị ứng dụng trên Heroku
      • Liệt kê danh sách các ứng dụng mình đã tạo:
        • heroku apps
      • Xem thông tin chi tiết về ứng dụng example
        • heroku apps:info –app example
      • Xóa ứng dụng example
        • heroku apps:destroy --app example

Chủ đề 4 – Phát triển và triển khai ứng dụng mới HelloWorld

  • Trong thư mục DTDM, tạo thư mục có tên là helloworld
  • Trong thư mục lần lượt tạo các tập tin sau
    • index.php in ra dòng Hello World
<?php

echo "Hello World";
?>
    • composer.json
  • Đăng ký và đưa mã nguồn phần mềm lên Git
    • Chuyền vào thư mục helloworld: cd helloworld
    • git init
    • git config –global user.email “you@example.com”
    • git config --global user.name "Your Name"
    • git add .           #Lưu ý có dấu chấm sau add
    • git commit -m "Initial import of Hello Heroku"
  • Tạo ứng dụng trên Heroku
    • heroku create  hello-ten-cua-ban
    • Lưu ý trong kết qủa tạo có đường dẫn đến ứng dụng và đường dẫn đến mã nguồn của ứng dụng
  • Đẩy mã nguồn ứng dụng lên Heroku
    • Vẫn trong thư mục helloworld, đánh lệnh git push heroku master
    • Mở ứng dụng bằng lện heroku open

Chủ đề 5: Bài tập ứng dụng 1

  • Hãy tạo một dự án có tên là HoTenCuaBan01 trên Heroku bằng ngôn ngữ PHP với các yêu cầu như sau:
    • Trang chủ: Hiển thị form yêu cầu người dùng nhập vào Họ và Tên, Địa chỉ email
    • Khi người dùng Submit sẽ in lại thông tin: Chào bạn , email của bạn là

Chủ đề 6: Quản trị ứng dụng trên Heroku

  • Liệt kê danh sách các ứng dụng mình đã tạo:
    • heroku apps
  • Xem thông tin chi tiết về ứng dụng example
    • heroku apps:info –app example
  • Xóa ứng dụng example
    • heroku apps:destroy --app example

Chủ đề 7 – Sử dụng Database Postgres trong ứng dụng Web/PHP trên Heroku

  • Chuyển vào thư mục của ứng dụng HoTenCuaBan01 (đã tạo ở chủ đề 5)
  • Thêm một add-on để sử dụng dịch vụ database Postgres cung cấp miễn phí bởi Heroku
    • heroku addons:create heroku-postgresql:hobby-dev
    •  heroku pg:wait
  • Xem thông tin về database đã tạo ra cho ứng dụng
    • heroku pg:info
  • Mở postgres SQL shell trên cơ sở dữ liệu
    • heroku pq:psql [tên database]
  • Xem chuỗi kết nối vào database DATABASE_URL từ ứng dụng
    • heroku config
      => Kết qủa DATABASE_URL: postgres://jozemgtezsssog:iSHEmlrZsA96srKxAAEr8W0ywY@ec2-54-75-242-208.eu-west-1.compute.amazonaws.com:5432/dfnugibvvam3o9 , với ý nghĩa như sau:

      • Username:Password: jozemgtezsssog:iSHEmlrZsA96srKxAAEr8W0ywY
      • Database server:cồng: ec2-54-75-242-208.eu-west-1.compute.amazonaws.com:5432
      • Database Name: dfnugibvvam3o9
  • Tài liệu chi tiết tại: https://devcenter.heroku.com/articles/heroku-postgresql#provisioning-the-add-on
  • Tạo tập tin createtable.php để kết nối vào database và tạo một một Table có tên là COMPANY2:
    • Trong thư mục HoTenCuaBan01 tạo tập tin có tên là createtable.php như nội dung sau: Download
    • git add  .   # Chú ý dấu chấm .
    • git commit  -m ” Thêm tập tin createtable.php”
    • git push heroku master
  • Mở ứng dụng và truy cập vào trang /createtable.php
  • Xem thêm về Postgres/Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04
  • Xem thêm về quản trị Postgres: https://devcenter.heroku.com/categories/postgres-basics

Chủ đề 8: Bài tập ứng dụng 2

  • Bổ sung vào bài tập ứng dụng 1 các trang php thực hiện các chức năng sau:
    • setup.php: Tạo một table có tên my_accounts gồm 2 côt: username và password (Gợi ý)
    • add_account.php: Có form nhận vào username và password sau đó insert vào table my_accounts (Gợi ý)
    • list_account.php: Liệt kê toàn bộ các tài khoản có trong table my_accounts (Gợi ý)
    • index.php: Chứa link đến các trang setup, add_account, list_account (Gợi ý)
  • Tài liệu hướng dẫn lập trình php/postgres : https://www.tutorialspoint.com/postgresql/postgresql_php.htm

Chủ đề 9 – Tiếp tục phát triển một ứng dụng đã có trên Heroku

  • Giả sử bạn đã tạo ra một ứng dụng trên Heroku với tên là my-app-01. Bạn muốn tiếp tục phát triển (viết code) cho ứng dụng này. Hãy thực hiện các bước sau:
    • Login vào Heroku bằng tài khoản của bạn:
      • heroku login
    • Copy mã nguồn về máy bằng lệnh
      • heroku git:clone -a my-app-01
    • Thư mục mới tạo trên máy tính của bạn có tên là my-app-01. Vào the mục này để phát triển phần mềm và commit ngược lại lên ứng dụng

Chủ đề 10 – Làm việc nhóm trên Heroku

  • Đọc tài liệu https://devcenter.heroku.com/articles/heroku-teams
  • Add người dùng có địa chỉ email:nbhung@gmail.com vào dự án Bài tập 2
  • Add thêm 02 người bạn vào dự án Bài tập 2 để cùng phát triển với bạn
  • Yêu cầu bạn mình
    • Clone ứng dụng về máy của bạn mình (theo hướng dẫn mail mà bạn nhận được)
    • Vào thư mục của ứng dụng, cập nhật họ tên của bạn vào file index.php
    • Đẩy ứng dụng được sửa đổi lên heroku (git add, commit, push)
  • Bạn hãy mở lại trang web của ứng dụng để xem nội dung đã được thay đổi bởi bạn mình
  • Bạn cập nhật lại code mới cho ứng dụng bằng các thao tác
    • Chuyển vào thư mục của ứng dụng
    • Đánh lệnh git pull
    • Mở file index.php để thấy code mới
  • Đánh lệnh git log -v để xem nhật ký cập nhật
  • Xem thêm hướng dẫn về lệnh git help

Bình luận