2015-05-18 14 views
6

Pochodzę z tła JVM Chciałbym wiedzieć, jak wdrożyć projekt golang do produkcji. Czy istnieje odpowiednik pliku JAR?W jaki sposób projekty golang są pakowane do wdrożenia?

Czy istnieje niezależny menedżer pakietów, który można zainstalować na serwerze, oraz plik manifestu zależności, który można uruchomić w celu usunięcia wszystkich zależności na serwerze. W szczególności nie chcę budować projektu na serwerze, ponieważ nie możemy mieć żadnych kompilatorów itp. Na pudełkach produkcyjnych.

dzięki.

+2

Po prostu skopiuj plik binarny. – inf

Odpowiedz

6

Po uruchomieniu go install <pkg> plik binarny zostanie umieszczony w $GOPATH/bin. Możesz skopiować ten plik binarny na inny komputer, który ma ten sam system operacyjny i architekturę.

Można również zmienić katalog zawierający pakiet main i po prostu uruchomić go build. Plik binarny zostanie umieszczony w bieżącym katalogu.

Nie ma zależności w pliku binarnym Go, które można śledzić. Jest statycznie połączony. (Niektóre biblioteki systemowe mogą być dynamicznie połączone, ale jeśli używasz tego samego systemu operacyjnego, nie powinno to stanowić problemu.)

+0

Tak - to takie proste. Jeśli Twoja aplikacja musi być wdrożona z dodatkowymi plikami zasobów, plikami konfiguracyjnymi itp., Możesz po prostu umieścić je wszystkie w pliku archiwum binarnego. Alternatywnie, niektóre zasoby mogą być wbudowane w plik binarny za pomocą narzędzia takiego jak https://github.com/jteeuwen/go-bindata. –

+0

@RobNapier Co zrobić, jeśli maszyna, która ma zostać wdrożona, ma inną konfigurację (OS)? – Itachi

+1

W takim przypadku trzeba by skompilować krzyżowo. http://dave.cheney.net/2015/03/03/cross-compilation-just-got-a-whole-lot-better-in-go-1-5 –

Powiązane problemy