Một cheatsheet với tất cả các lệnh bạn cần
Hình ảnh từ Heroku.comVề hướng dẫn này
Đây không phải là một hướng dẫn đầy đủ với các giải thích về những gì đang xảy ra ở mỗi bước.
Đây là một trò gian lận để phục vụ như một tài liệu tham khảo của tất cả các lệnh bạn sẽ cần khi đẩy ứng dụng Node.js / MongoDB / Mongoose của bạn vào Heroku.
Lưu ý: Hướng dẫn này giả định rằng bạn đã thiết lập Git. Nếu bạn không có, hãy làm theo hướng dẫn của tôi cách thiết lập Git cho một dự án hiện có.
Thiết lập Procfile của bạn
Trước khi đẩy đến Heroku, chúng tôi sẽ phải tạo một tập tin có tên là Procfile, điều đó cho phép Heroku biết cách chạy trang web của bạn. Truy cập REPO dự án của bạn và tạo tệp đó trong gốc của repo:Procfile, that lets Heroku know how to run your website. Go to your project repo and create that file in the root of the repo:
$ cd ~/projects/path-to-your-project-folder
$ touch Procfile
Bên trong Procfile Thêm như sau:
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
Thiết lập dự án Heroku của bạn
Nếu bạn không có một tài khoản Heroku miễn phí. Đó là một dịch vụ miễn phí - nhưng kể từ tháng 1 năm 2019 - bạn phải nhập chi tiết thẻ tín dụng của mình để đăng ký.
Cài đặt giao diện dòng lệnh Heroku nếu bạn chưa có [hướng dẫn].
Tạo một ứng dụng Heroku và đặt tên cho nó:
$ heroku create unique-project-name
Kiểm tra xem nó có hoạt động bằng cách chạy lệnh sau không:
$ git remote -v
Bạn sẽ thấy một cái gì đó như thế này:
$ git remote -v
heroku //git.heroku.com/unique-project-name.git [fetch]
heroku //git.heroku.com/unique-project-name.git [push]
origin :nsafai/Your-Git-Repo.git [fetch]
origin :nsafai/Your-Git-Repo.git [push]
Đẩy Procfile của bạn đến Heroku
$ git add .
$ git commit -m “setting up to push to Heroku”
$ git push heroku master
Quay một máy chủ
Gán một máy chủ miễn phí để chạy trang web:
$ heroku ps:scale web=1
Thiết lập cơ sở dữ liệu sản xuất của bạn
Tạo cơ sở dữ liệu để lưu trữ dữ liệu sản xuất của bạn:
$ heroku addons:create mongolab:sandbox
Nếu bạn đã không có, hãy đảm bảo tệp app.js hoặc server.js của bạn có dòng mã chính xác để kết nối với DB sản xuất của bạn:app.js or server.js file has the correct line of code to connect to your production DB:
// app.js or server.js// connect Mongoose to your DB
var mongoose = require[‘mongoose’];
mongoose.connect[process.env.MONGODB_URI || 'mongodb://localhost/your-app-name'];
Lưu ý: Bạn có thể cần cài đặt gói NPM dotenv cho các bên trên hoạt động chính xác: you may need to install the dotenv npm package for the above to work correctly:
- Chạy
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
7orweb: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
8 - Nhập dotenv ở đầu tệp app.js / server.js của bạn:app.js / server.js file:
// app.js or server.js
require['dotenv'].config[]
// REST OF YOUR CODE
Định cấu hình cài đặt cổng của bạn
Đặt cảng vào cảng sản xuất Heroku. Trong tệp app.js của bạn [hoặc đôi khi, tệp bin/www/server.js], thay đổi ứng dụng của bạn.app.js file [or sometimes, bin/www/server.js file], change your app.listen to the following:
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead0
Đẩy mã của bạn lên GitHub:
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead1
Đẩy mã của bạn lên Heroku:
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead2
Đẩy các biến .ENV của bạn vào Heroku [nếu bạn có bất kỳ]:
Đối với mỗi biến env, bạn có thể đẩy nó lên bằng cách sử dụng:
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead3
Hoặc, nếu bạn thấy nó dễ dàng hơn, bạn có thể truy cập //dashboard.heroku.com/apps/your_app_name/sitings và cung cấp các biến .ENV thông qua giao diện web Heroku.
Đó là nó, hãy kiểm tra nếu nó hoạt động!
Băng qua ngón tay của bạn và xem nó có hoạt động bằng cách sử dụng lệnh không:
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead4
Ứng dụng của bạn có trên web! 🔥🙌🎊🎉🥂🔥🙌🎊🎉🥂
Ôi không! Bạn đang xem trang này?
Cổ điển. Hầu như mọi người đều thấy đây là lần đầu tiên họ đẩy ứng dụng của họ đến HerokuNếu bạn thấy màn hình ở trên, hãy chạy lệnh này:
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead5
Cuộn lên đầu nhật ký lỗi và Google từng cái một.
Nếu bạn bị mắc kẹt và có thể giải quyết vấn đề bằng Google, hãy bình luận bên dưới với tình huống của bạn và những gì bạn đã thử và tôi sẽ cố gắng hết sức để giúp đỡ.
Tín dụng để làm cho trường học cho bài viết gốc mà tôi đã lấy cảm hứng từ đó.
Hướng dẫn này có nghĩa là giúp bất cứ ai đang lưu trữ ứng dụng NodeJS sử dụng cơ sở dữ liệu MongoDB. Nếu bạn đã kiểm tra hướng dẫn Heroku khác của tôi bằng PostgreSQL, thì hướng dẫn này sẽ chỉ là một miếng bánh.
Trong mọi trường hợp, tôi sẽ cho rằng bạn ở đây lần đầu tiên, vì vậy tôi sẽ điều hành bạn thông qua một quy trình mới bắt đầu. Chúng tôi sẽ lưu trữ ứng dụng xác thực mà chúng tôi đã hoàn thành trong hướng dẫn cuối cùng.
- Sao chép dự án ở đây.
- Xóa tệp
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
9 có thể đi kèm với nó. Một tệpweb: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
9 khác sẽ được tạo cho bạn trong quá trình bạn đẩy sang GitHub.
Vì vậy, không có gì khó chịu, chúng ta hãy bị bẩn tay.
Tải lên GitHub
Tải lên hoặc đẩy lên GitHub cũng dễ dàng như dùng bữa ăn yêu thích của bạn. Vui lòng kiểm tra bất kỳ liên kết nào sau đây để được hướng dẫn về cách đẩy dự án của bạn từ máy địa phương đến GitHub
Thêm một dự án hiện có vào GitHub bằng dòng lệnh
Thêm một dự án hiện có vào GitHub bằng dòng lệnh
Triển khai đến Heroku
Tôi sẽ làm cho quá trình này dễ dàng đến mức bạn sẽ chỉ mỉm cười trong suốt.
- Hãy bắt đầu bằng cách tạo một tài khoản trên Heroku
Nếu bạn đã tạo một tài khoản, bạn có thể đã được nhắc tạo một ứng dụng [nghĩa là một thư mục nơi ứng dụng của bạn sẽ được lưu trữ]. Tạo ra nó. Của tôi được đặt tên là
$ heroku create unique-project-name
1- Truy cập bảng điều khiển của ứng dụng của bạn
- Chọn phương thức triển khai
$ heroku create unique-project-name
2
- Tìm kiếm và chọn repo
- Nhấp vào
$ heroku create unique-project-name
3
- Chọn chi nhánh bạn muốn triển khai [trong trường hợp của riêng tôi, đó là nhánh
$ heroku create unique-project-name
4]
Bật triển khai tự động bằng cách nhấp vào nút
$ heroku create unique-project-name
5 như trong hình trên.Nhấp vào nút
$ heroku create unique-project-name
6 trong triển khai thủ công
Chúng tôi sẽ không phải làm tất cả những điều này để triển khai tiếp theo
- Bây giờ bạn có một nút cho bạn biết "xem trang web" sau khi bản dựng hoàn thành. Nhấp vào nó. [Điều này sẽ mở ứng dụng của bạn trong một tab mới]
Ohhh nooooo !!!! MỘT LỖI? LỖI ỨNG DỤNG?
Vâng, nó chỉ là một vấn đề nhỏ. Một cái gì đó bạn không bao giờ nên quên làm trong khi triển khai. Hầu hết các dịch vụ lưu trữ sẽ yêu cầu nó
Sửa lỗi ứng dụng Heroku
Quay trở lại thư mục gốc của dự án của bạn
- Tạo một tệp và đặt tên nó
$ heroku create unique-project-name
7 [nó không có phần mở rộng] - Trong tệp, nhập phần sau
web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead6
Nhập chế độ FullScreenen EXIT Mode FullScreen
Điều này hướng Heroku đến tệp máy chủ [
$ heroku create unique-project-name
8] là điểm nhập của ứng dụng. Nếu máy chủ của bạn ở trong một tệp khác, vui lòng sửa đổi theo yêu cầu- Lưu các tập tin
- Đẩy các thay đổi mới vào GitHub
- Đợi 2 đến 5 phút để Heroku tự động phát hiện các thay đổi trong repo GitHub của bạn và thực hiện các thay đổi trên ứng dụng.
- Bây giờ bạn có thể làm mới trang lỗi đó và xem công việc khó khăn của bạn đang trả hết tiền
Thêm MongoDB
Bạn phải nhận thấy rằng các tuyến khác không hoạt động. Vâng, đó là bởi vì chúng tôi không bao gồm cơ sở dữ liệu của chúng tôi.
Hãy nhớ rằng URL vào cơ sở dữ liệu của chúng tôi nằm trong tệp
$ heroku create unique-project-name
9 của chúng tôi. Nhưng tệp $ heroku create unique-project-name
9 của chúng tôi không được bao gồm trong dự án của chúng tôi trên GitHub sau khi chúng tôi đẩy nó. Vì vậy, chúng tôi phải trực tiếp thêm URL MongoDB vào ứng dụng Heroku của chúng tôi.
Hãy làm điều đó ...
- Điều hướng đến các cài đặt của ứng dụng của bạn
$ git remote -v
1
- Cuộn xuống phần
$ git remote -v
2 - Thêm khóa và giá trị của cơ sở dữ liệu của bạn
Đó là tất cả!!! Ứng dụng của bạn sẽ hoạt động tốt ngay bây giờ ...
Kiểm tra
Cách dễ nhất để kiểm tra nếu nó hoạt động là thử điểm cuối đăng nhập
Của tôi đã làm việc!
Sự kết luận
Chúng tôi bắt đầu bằng cách nhân bản một dự án từ hướng dẫn cuối cùng của chúng tôi. Tiếp theo, tôi chỉ cho bạn cách đẩy một dự án vào GitHub. Sau đó, chúng tôi đã tạo ra một ứng dụng Heroku nơi chúng tôi đã tổ chức dự án từ GitHub một cách dễ dàng. Cuối cùng, chúng tôi đã thêm URL cơ sở dữ liệu của chúng tôi vào ứng dụng và ứng dụng của chúng tôi hoạt động hoàn hảo giống như nó hoạt động tại địa phương.
Tôi hy vọng bạn đã tham gia vào từng chút của hướng dẫn này vì tôi đã thích trong khi tạo ra nó.
Hẹn gặp lại các bạn trong hướng dẫn tiếp theo của tôi.