THỰC HÀNH PHÁT TRIỂN ỨNG DỤNG WEB/PHP TRÊN PaaS Heroku
- Tài liệu tham khảo chính: https://devcenter.heroku.com/articles/getting-started-with-php
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
-
- Mở một terminal / cmd, đánh các lệnh sau
- Đă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
- Tạo một ứng dụng trên Heroku để đón nhận mã nguồn phần mềm chuyển lên
- Đẩ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
- Liệt kê danh sách các ứng dụng mình đã tạo:
-
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
- 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
- Vẫn trong thư mục helloworld, đánh lệnh
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
- Xem thêm về các lệnh quản trị tại đây : https://devcenter.heroku.com/categories/command-line
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
- heroku config
- 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
- Login vào Heroku bằng tài khoản của bạn:
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