Lưu trữ cho Node.js vẫn chưa được phổ biến rộng rãi, đặc biệt là ở các nước nói tiếng Đức. Công ty điện toán đám mây của Mỹ Heroku cung cấp một giải pháp khắc phục tại đây - và thậm chí miễn phí . Bạn luôn nhận thấy mô hình "Xây dựng ứng dụng ... không phải cơ sở hạ tầng" và hầu như không có bất kỳ hạn chế nào. Ví dụ: chúng tôi thực hiện một công việc cron nhỏ dựa trên PhantomJS , công việc này quét một trang web mỗi ngày và gửi tiêu đề trang qua email.
Để làm điều này, trước tiên chúng tôi đăng ký miễn phí tại https://signup.heroku.com/:
Sau khi xác nhận e-mail bắt buộc, chúng tôi sẽ cấp một mật khẩu an toàn:
Để có thể sử dụng các tiện ích bổ sung miễn phí từ Marketplace sau này, trước tiên chúng tôi phải xác minh tài khoản của mình trong https://heroku.com/verify bằng cách nhập thẻ tín dụng (đừng lo lắng, mọi thứ vẫn miễn phí):
Phần còn lại bây giờ chỉ diễn ra trên dòng lệnh. Đối với điều này, chúng tôi cần cục bộ Node.js / npm , Git và Heroku CLI .
Cuối cùng chúng tôi đăng nhập vào Heroku cục bộ (một lần) trên dòng lệnh:
Đầu tiên, chúng tôi tạo một ứng dụng mới dựa trên một gói xây dựng phù hợp. Trong ví dụ của chúng tôi, chúng tôi đang sử dụng Node.js buildpack heroku-buildpack-nodejs.git chính thức:
1a01abaf4b9308c5714622396ccc4708
Bây giờ chúng tôi tạo một package.json để cài đặt các gói PhantomJS , CasperJS , SpookyJS và Nodemailer cần thiết cho dự án của chúng tôi:
1a01abaf4b9308c5714622396ccc4708
Logic thực tế có thể được tìm thấy trong script.js:
1a01abaf4b9308c5714622396ccc4708
Đầu tiên chúng tôi kiểm tra mọi thứ cục bộ:
1a01abaf4b9308c5714622396ccc4708
Tập lệnh trích xuất tiêu đề từ một trang web và gửi một email:
Chúng tôi hiện đang thúc đẩy mọi thứ trên Heroku, điều này cũng kích hoạt quá trình xây dựng:
1a01abaf4b9308c5714622396ccc4708
Nếu bạn muốn đẩy các thay đổi mã cho Heroku sau này, bạn chỉ cần đẩy lại. Một mặt, bây giờ chúng tôi có thể kiểm tra thông qua SSH xem mọi thứ có đang chạy trên máy chủ hay không:
1a01abaf4b9308c5714622396ccc4708
Đây cũng là email được gửi chính xác. Bây giờ chúng ta chỉ cần tự động hóa quy trình:
1a01abaf4b9308c5714622396ccc4708
Chúng tôi thêm lệnh gọi tập lệnh mới với "Thêm công việc mới":
Để kiểm tra, chúng tôi chọn tần suất 10 phút một lần và lưu lại:
Cronjob bây giờ sẽ tự động thực hiện công việc của nó trong tương lai.