java - Jenkins 构建和部署

标签 java jenkins deployment

我正在学习 Jenkins 。谁能告诉我我的理解是否正确?

构建应用程序:

  • 我提交代码并将分支推送到远程存储库。
  • Jenkins 看到我的提交并触发构建(可能使用 maven install)。
  • Jenkins 运行所有测试,如果全部通过,则会创建 war /耳朵。该人工制品被推至连接点。

部署到环境:

  • 我的分支中的部署脚本包含将应用程序部署到 Tomcat 等的步骤。 Jenkins 转到 Nexus,检索最新的工件(上面构建的),并将该应用程序部署到 Tomcat。
  • 部署文件中的其他步骤根据需要关闭并重新启动 Tomcat,可能进行测试以确保应用程序已启动并准备好处理请求。

我是否正确地说,部署不需要构建最新的工件,它使用推送到 Nexus 的最后一个工件,或者每次部署都构建一个新的工件?

最佳答案

这完全取决于您如何在 Jenkins 和/或 git 上设置构建。

Jenkins 可以配置为监视您的存储库(简称 repo)并在检测到更改时启动构建。

Jenkins 可以配置为运行构建。您提供 Maven 命令行参数; Jenkins 只是编排你给它的命令。

您提供给 Jenkins 的一些步骤将是 shell 代码。这就是您运行自定义 shell 脚本(例如访问 Nexus)的方式。事情不会自行发生;如果您告诉 Jenkins 部署一个工件(例如使用 Maven),那么 Jenkins 将按照您的指示调用部署命令。

应用程序部署自行负责启动、重新启动或关闭服务器 (Tomcat) 的情况非常不规律。当然,这可以通过 Jenkins 来完成,但它的“薪酬等级”比应用程序部署应有的更高。把事情简单化;如果您的 Jenkins 构建正在管理用于测试和部署的应用程序,请将重点放在应用程序上,而不是服务器上。

Jenkins 很神奇,但它不是读心术。除非你告诉它,它不会做你所说的任何事情。也就是说,您概述的过程是一个合理的过程,无论您使用什么工具来实现它。如果你进行相应的设置,Jenkins 当然可以做这些事情。

关于java - Jenkins 构建和部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42913899/

相关文章:

java - j赋格 + 格维尔 : using different soundbanks the sounds doesn't change

java - 如何为带注释和 hbm.xml 配置的实体创建 hibernate session bean

java - Apache tika 错误地检测 csv 的 mime 类型

node.js - 无法在 ubuntu slave 上运行 npm

linux - centos安装jenkins时出现403禁止异常

jenkins - 使用环境值执行gradle任务

powershell - 在部署期间使用脚本从 SCCM 检索应用程序属性

java - 数组上的预增量如何工作

docker - 无法部署到 docker - 加密失败并且找不到 Rust 编译器

c++ - 为 Windows 部署 QT exe 时遇到问题