无法使用 Jenkins 管道在本地部署 mule 4 应用程序
Posted
技术标签:
【中文标题】无法使用 Jenkins 管道在本地部署 mule 4 应用程序【英文标题】:Not able to deploy mule 4 application in on-premise using Jenkins pipeline 【发布时间】:2020-01-29 05:51:09 【问题描述】:我正在尝试使用 jenkin 管道部署 mule 4 应用程序,但在部署过程中出现以下错误:
[错误] 无法在项目 helloworld 上执行目标 org.mule.tools.maven:mule-maven-plugin:3.3.5:deploy (default-deploy):执行目标 org.mule.tools 的默认部署。 maven:mule-maven-plugin:3.3.5:deploy failed: Mule Runtime 没有运行!
添加我的 pom.xml。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>helloworld</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>mule-application</packaging>
<name>helloworld</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<app.runtime>4.2.2</app.runtime>
<mule.maven.plugin.version>3.3.5</mule.maven.plugin.version>
<proejct.site.deploy.url>E:\IDFC\mule-enterprise-standalone-4.2.2\apps</proejct.site.deploy.url>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>$mule.maven.plugin.version</version>
<extensions>true</extensions>
<configuration>
<standaloneDeployment>
<muleHome>E:\IDFC\mule-enterprise-standalone-4.2.2</muleHome>
<muleVersion>4.2.2</muleVersion>
</standaloneDeployment>
</configuration>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.mule.connectors</groupId>
<artifactId>mule-http-connector</artifactId>
<version>1.5.11</version>
<classifier>mule-plugin</classifier>
</dependency>
<dependency>
<groupId>org.mule.connectors</groupId>
<artifactId>mule-sockets-connector</artifactId>
<version>1.1.5</version>
<classifier>mule-plugin</classifier>
</dependency>
<dependency>
<groupId>org.mule.connectors</groupId>
<artifactId>mule-db-connector</artifactId>
<version>1.5.5</version>
<classifier>mule-plugin</classifier>
</dependency>
</dependencies>
<repositories>
<repository>
<id>anypoint-exchange-v2</id>
<name>Anypoint Exchange</name>
<url>https://maven.anypoint.mulesoft.com/api/v2/maven</url>
<layout>default</layout>
</repository>
<repository>
<id>mulesoft-releases</id>
<name>MuleSoft Releases Repository</name>
<url>https://repository.mulesoft.org/releases/</url>
<layout>default</layout>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>mulesoft-releases</id>
<name>mulesoft release repository</name>
<layout>default</layout>
<url>https://repository.mulesoft.org/releases/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
在 Jenkins 中直到构建它正在工作,但是在部署时我遇到了错误。 对于部署过程使用自定义工作区目录并执行自定义批处理命令 mvn package deploy -DmuleDeploy。 在这里它失败了,下面添加了错误。 这是我必须部署的独立服务器:C:\AnypointStudio\mule-enterprise-standalone-4.2.2\apps
你能检查一下我的 pom.xml 还有什么我需要添加的吗? 让我知道在独立服务器上部署我做错了什么?
【问题讨论】:
【参考方案1】:Mule Maven 插件抱怨位于 C:\AnypointStudio\mule-enterprise-standalone-4.2.2\ 的目标独立 Mule Runtime 未运行。日志错误说明了很多:Mule Runtime is not running!
。 documentation for the standalone deployment configuration 似乎暗示它应该正在执行。
在尝试部署到它之前,您需要确保它已启动并运行。
注意,在名为 AnypointStudio 的目录中安装独立的 Mule Runtime 有点令人困惑。独立运行时不是 Anypoint Studio 的一部分,也不以任何方式与 Studio 交互。
【讨论】:
嗨 @aled 将独立的 Mule 运行时更改为 E:\IDFC\mule-enterprise-standalone-4.2.2 并启动了 mule.bat 文件。但在项目文件夹中运行 mvn clean package deploy -DmuleDeploy 时仍然出现相同的错误。你能检查一下 pom.xml 上还需要什么吗?以上是关于无法使用 Jenkins 管道在本地部署 mule 4 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
无法将自定义 Mule 连接器部署到 Anypoint Exchange
使用 jenkins 管道在 Windows 服务器上部署 jar