本文已使用 Google Cloud Translation API 自动翻译。
某些文档最好以原文阅读。
开发人员一直在寻找使软件开发过程自动化的方法。软件开发中最重要和最耗时的任务之一是部署。部署是从本地开发环境获取代码并将其推送到生产环境的过程。这个过程可以是手动的或自动的。
自动化部署过程有很多好处。自动化部署可以节省时间、提高一致性并减少人为错误的机会。在本文中,我们将重点介绍如何使用 Kotlin 自动化部署过程。
Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言。 Kotlin 与 Java 100% 互操作,这对于已经熟悉 Java 的开发人员来说是一个很有吸引力的选择。 Kotlin 也是一种简洁的语言,可以带来更具可读性和可维护性的代码。
在开始自动化部署过程之前,我们需要设置一个 Kotlin 项目。我们将使用 Gradle 构建工具来管理我们的项目依赖项并构建我们的项目。
我们需要在项目的根目录中创建一个名为“build.gradle.kts”的文件。 build.gradle.kts
文件用于配置我们的 Gradle 构建。
plugins {
id("org.jetbrains.kotlin.jvm") version "1.3.72"
}
group = "com.example"
version = "0.0.1"
repositories {
jcenter()
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}
build.gradle.kts
文件类似于 build.gradle
文件,但它是用 Kotlin 编写的。在 build.gradle.kts 文件中,我们为 Kotlin 编程语言定义了一个插件,并指定了我们要使用的 Kotlin 版本。我们还定义了项目的组和版本。
我们还定义了一个存储库,我们的项目依赖关系将在其中得到解决。在本例中,我们使用的是 JCenter 存储库。最后,我们定义了对 Kotlin 标准库的依赖。
Kotlin 标准库提供了一组开发 Kotlin 应用程序所必需的核心库。我们还指定我们的项目应该针对 Java 8 进行编译。
现在我们已经设置了 Kotlin 项目,我们可以开始自动化部署过程。我们将使用 Gradle 构建工具来自动化我们的部署过程。
我们需要做的第一件事是在项目的根目录中创建一个名为“deploy.gradle”的文件。 deploy.gradle
文件包含我们部署过程的配置。
plugins {
id("com.bmuschko.gradle.plugins.tooling-api") version "2.3.3"
}
apply(plugin = "com.bmuschko.tomcat")
group = "com.example"
version = "0.0.1"
repositories {
jcenter()
}
dependencies {
tomcat "org.apache.tomcat.embed:tomcat-embed-core:9.0.33"
tomcat "org.apache.tomcat.embed:tomcat-embed-logging-juli:9.0.33"
tomcat "org.apache.tomcat.embed:tomcat-embed-jasper:9.0.33"
}
tomcat {
httpPort = 8080
ajpPort = 8009
enableSSL = false
keystoreFile = file("src/main/resources/keystore.jks")
keystorePass = "secret"
keyAlias = "tomcat"
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}
在 deploy.gradle 文件中,我们为 Tomcat Web 服务器定义了一个插件。我们还指定了项目的组和版本。
我们还定义了一个存储库,我们的项目依赖关系将在其中得到解决。在本例中,我们使用的是 JCenter 存储库。最后,我们定义了对 Tomcat 库的依赖关系。
Tomcat 库是将我们的 Kotlin 应用程序部署到 Tomcat Web 服务器所必需的。我们还指定了 Tomcat 应该用来侦听 HTTP 请求的端口。
我们还指定了 Tomcat 应该用来侦听 AJP 请求的端口。 AJP 是一种用于 Web 服务器和应用程序服务器之间通信的协议。我们还指定我们的应用程序不应使用 SSL。
最后,我们指定了密钥库文件的位置和密钥库的密码。密钥库是包含用于加密和解密数据的加密密钥的文件。
现在我们的部署过程已经自动化,我们可以部署我们的应用程序了。我们将使用 Gradle Tomcat 插件来部署我们的应用程序。
要部署我们的应用程序,我们需要运行“gradle tomcatRun”命令。此命令将启动 Tomcat Web 服务器并将我们的应用程序部署到它。
一旦 Tomcat Web 服务器启动并运行,我们就可以通过“http://localhost:8080”访问我们的应用程序。