2012-06-18 28 views
31

Tôi tập hợp một ngăn phát triển thiết bị di động gần như hoàn toàn bằng cách sử dụng Javascript trên node.js. Với ngoại lệ duy nhất của SASS (thích nó là LESS) và Fabric. Tôi không muốn gây ô nhiễm thư mục phát triển của mình và vì tôi phải kết hợp và rút gọn JS và CSS, tôi nghĩ tôi cũng có thể sử dụng node.js để phục vụ mã của mình.Có công cụ triển khai tương tự như Vải được viết bằng JavaScript không?

Tôi muốn giảm sự phụ thuộc của mình vào Ruby và/hoặc Python. Tôi không thực sự sử dụng tất cả các tính năng của Fabric vì vậy tôi có hy vọng thay thế nó. Nhưng tôi không thể tìm thấy bất kỳ công cụ tương tự nào được viết bằng Javascript.

Tất cả tôi cần là:

  • Kéo từ kho git.
  • Cài đặt depencies cục bộ.
  • Thu nhỏ và kết hợp JS/CSS gọi require.js/SASS.
  • Chạy testsuite.
  • Phục vụ mã qua node.js để thực hành hoặc thử nghiệm với Ripple.

Vải có thể đã quá mức cần thiết, tôi chỉ sử dụng nó cho dự án web Python bởi vì các máy chủ cần thiết không chạy trên máy của tôi, nhưng điều đó không đúng ở đây. Điều gì sẽ là cách tốt nhất để xử lý điều này mà không cần Fabric?

Trả lời

9

Tôi đã tự suy nghĩ về cùng một câu hỏi.

Ứng viên trực tiếp hứa hẹn nhất mà tôi đã tìm thấy cho đến thời điểm này là khởi chạy (https://github.com/bengourley/launch). Tuy nhiên, nó chưa được cập nhật trong một năm, điều đó làm tôi hơi nghi ngờ về tình trạng tương lai của nó.

Trong vắng mặt của các giải pháp rõ ràng là tốt, tôi đã kết thúc việc giải quyết các vấn đề toàn xây dựng/triển khai, từng mảnh trong thời trang sau đây:

  • Sau một số thử và sai, tôi loại bỏ node_modules từ .gitignore. Một trong những tác động là bạn không phải cài đặt các phụ thuộc cục bộ, loại bỏ bước thứ hai (try if reading this thuyết phục bạn).
    • Edit: tôi không còn làm được điều này và thay vào đó giữ node_modules trong .gitignore. Chỉ cần chắc chắn package.json ở lại up-to-date (đối với mẹo, hãy xem "Managing Node.js Dependencies with Shrinkwrap")
  • tôi đã kết thúc việc tự động hóa xử lý JS/CSS, linting và bộ kiểm tra chạy với grunt. Rat khuyen khich.
  • Tôi lười biếng và bây giờ tôi đang thêm những thứ được rút gọn vào git (hy vọng tôi sẽ thay đổi điều này tại một số điểm).
    • Edit: tôi không còn thêm những thứ được rút gọn thành git, nhưng thay vì chạy grunt khi triển khai để thực hiện việc rút gọn

Bằng cách làm như vậy, tôi có hiệu quả loại bỏ một số nhu cầu Vải hoàn toàn, chỉ để triển khai thực tế được giải quyết:

  1. Giải pháp tốt nhất (triển khai khôn ngoan) là tránh chạy o của bạn các máy chủ wn và sử dụng các giải pháp đám mây sẵn sàng, chẳng hạn như Heroku hoặc Nodejitsu
  2. Hoặc, bạn có thể lưu trữ các công cụ triển khai node.js của riêng mình. Ví dụ: bạn có thể cài đặt Nodester trên máy chủ của riêng mình và sử dụng các API và công cụ được cung cấp.
  3. Trên một hộp Linux, rất dễ dàng để viết một lớp lót triển khai lại ứng dụng node.js, vì vậy tôi không cảm thấy cần sử dụng thêm bất kỳ công cụ nào (ngoài bash) cho điều đó.

Điều đó đang được nói, tôi cũng rất vui khi biết về các giải pháp tốt hơn.

Chỉnh sửa: chỉ cần tìm hiểu về triển khai (https://github.com/visionmedia/deploy). Có vẻ rất hứa hẹn. Bạn có thể thử điều đó!

+1

Cảm ơn, [grunt] (https://github.com/cowboy/grunt) có vẻ thực sự thú vị. Chỉ cần tìm thấy [Jake] (https://github.com/mde/jake) mà có vẻ là tốt, nhưng grunt dường như dễ hiểu và dễ sử dụng hơn. –

+1

Ồ đúng rồi! Jake có vẻ tốt. Dường như có nhiều định hướng CoffeeScript hơn. Cú pháp có vẻ dài dòng mà không có Cà phê, nhưng tôi có thể thử chỉ để biết các lựa chọn của tôi. – jsalonen

+1

CoffeeScript thực sự được đóng gói cùng với Cake Make/Rake/Jake cho CoffeeScript. Không chắc chắn nếu nó có các tính năng tương tự mặc dù. Vẫn còn kinh khủng. –

4

stagecoach không dàn dựng và triển khai, với hỗ trợ cài đặt phụ thuộc và tập lệnh mới nổi.

Here's a blog post về việc triển khai nút & mongo bằng stagecoach.

14

Flightplan trông rất thú vị và được lấy cảm hứng từ Vải. Tài liệu của nó có các ví dụ mở rộng và đáng để kiểm tra.

+2

Tôi là một người sử dụng vải thời gian dài và tôi đã thử điều này cho một dự án. Nó hoạt động tuyệt vời. – defrex

+1

Bạn đã sử dụng flightplan một thời gian rồi ... Rất đơn giản để sử dụng. Không đầy đủ tính năng như capistrano, nhưng dễ thực hiện hơn. Đây là cấu hình soạn sẵn của tôi với mãi mãi hoặc mới nổi: https://gist.github.com/learncodeacademy/35045e64d2bbe6eb14f9 –

1

Một công cụ triển khai javascript là shipitjs

Từ readme của họ:

Shipit là một công cụ tự động hóa và một công cụ triển khai bằng văn bản cho nút/iojs.

Shipit được xây dựng để trở thành một người thay thế Capistrano cho những người không biết ruby, hoặc những người gặp phải một số vấn đề với nó. Nếu bạn muốn viết các tác vụ trong JavaScript và tận hưởng hệ sinh thái nút, Shipit cũng dành cho bạn.

Các vấn đề liên quan