2015-05-18 26 views
6

Xuất phát từ nền tảng JVM, tôi muốn biết cách triển khai dự án golang để sản xuất. Có tương đương với tệp JAR không?Dự án golang được đóng gói để triển khai như thế nào?

Có trình quản lý gói độc lập có thể được cài đặt trên máy chủ và tệp kê khai phụ thuộc có thể chạy để đưa xuống tất cả các phụ thuộc trên máy chủ hay không. Tôi đặc biệt không muốn có để xây dựng các dự án trên máy chủ như chúng tôi không thể có bất kỳ trình biên dịch vv trên hộp sản xuất.

cảm ơn.

+2

Bạn chỉ cần sao chép nhị phân. – inf

Trả lời

6

Tôi bạn chạy go install <pkg>, tệp nhị phân sẽ được đặt trong $GOPATH/bin. Bạn có thể sao chép nhị phân đó sang một máy khác có cùng hệ điều hành và kiến ​​trúc.

Bạn cũng có thể thay đổi vào thư mục bao gồm gói main và chỉ chạy go build. Các nhị phân sẽ được đặt trong thư mục hiện hành.

Không có phụ thuộc trong nhị phân Go để bạn theo dõi. Nó được liên kết tĩnh. (Một số thư viện hệ thống có thể được liên kết động, nhưng nếu bạn đang chạy trên cùng một hệ điều hành, đây không phải là vấn đề.)

+0

Đúng - thật đơn giản. Nếu ứng dụng của bạn cần được triển khai với các tệp nội dung bổ sung, hãy định cấu hình các tệp v.v., bạn có thể chỉ cần đặt tất cả chúng vào một tarball với tệp nhị phân. Ngoài ra, một số tài sản có thể được nhúng vào nhị phân với một công cụ như https://github.com/jteeuwen/go-bindata. –

+0

@RobNapier Nếu máy được triển khai có cấu hình khác (OS) – Itachi

+1

Bạn sẽ cần phải biên dịch chéo trong trường hợp đó. http://dave.cheney.net/2015/03/03/cross-compilation-just-got-a-whole-lot-better-in-go-1-5 –

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