首页 > 解决方案 > 使用 jenkins 执行 shell 脚本部署 ear

问题描述

我正在尝试使用 Jenkins 将 .ear 文件部署到我的测试环境。

Web 应用程序在 Bea Weblogic 9.2 上运行,所以我虽然最简单的方法是在构建后步骤中执行以下脚本(添加构建后步骤 ---> 执行 shell):

java weblogic.Deployer -adminurl t3://22.33.44.55:8001 -username myUserName -password myPassword -deploy -name earfilename -targets AdminServer -source C:\apps\sample.ear

假设这会起作用,我相信你会同意我的看法,因为 -source 指向我本地的耳朵,所以这没有意义。我想部署刚刚从 jenkins 构建的 ear 文件(这是 SVN 提交的结果)。

所以我的最后一个问题是:我可以在脚本中放入任何环境变量来获取 -source(刚刚构建的耳朵的路径)和 -name(工件的名称随每个版本而变化)吗?

提前致谢

标签: shelljenkinsdeploymentweblogicear

解决方案


source 参数不需要带有文件名,它应该是 C:\apps\ 并将 name 作为应用程序名称。您还可以添加一个线性命令以在创建新版本之前删除已经存在的应用程序,以便应用程序文件夹只有一个文件。如果 ear 文件位于远程服务器中,请在命令中使用 -remote 选项。

例如

java -cp $CLASSPATH weblogic.Deployer -adminurl ADMIN_URL:PORT -username weblogic -password weblogic1! -distribute app.war -name appname -targets AdminServer -debug -usenonexclusivelock

您还可以使用 find 命令检查 ear 文件的名称,将其存储在变量中并在命令中使用该变量。


推荐阅读