可執行的罐子
部署 Grails 3.x 的最簡單方法之一是構建一個可執行 jar 檔案,該檔案將 servlet 容器(Tomcat,Undertow 等)嵌入到應用程式中。
修改 build.gradle
:
// Remove or comment out the war plugin:
// apply plugin:"war"
// Enable the executable jar:
springBoot {
executable = true
}
// Optional: Customize the jar properties:
// https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html
jar {
archiveName('myapp.jar')
}
使用 ./gradlew assemble
構建
結果 jar 現在是一個可以啟動的完全可執行的應用程式:
$ head build/libs/myapp.jar
#!/bin/bash
#
# . ____ _ __ _ _
# /\\ / ___'_ __ _ `_(_)`_ __ __ _ \ \ \ \
# ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
# \\/ ___)| |_)| | | | | || (_| | ) ) ) )
# ' |____| .__|_| |_|_| |_\__, | / / / /
# =========|_|==============|___/=/_/_/_/
# :: Spring Boot Startup Script ::
#
你可以像通常的任何命令列應用程式一樣啟動它:
$ ./build/libs/myapp.jar
Grails application running at http://localhost:8080 in environment: production
它的行為類似於 init 服務:
$ ln -s /opt/myapp/myapp.jar /etc/init.d/myapp
$ service myapp [start|stop|status|restart]
詳細文件在 spring-boot 文件下: http : //docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html