You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API从Anypoint Exchange获取最新Mulesoft制品并部署到Cloudhub 1.0

从Anypoint Exchange拉取最新制品部署到Cloudhub 1.0的发布流水线实现

前提条件

  • 已具备Anypoint Platform账号,拥有Exchange读权限与Cloudhub部署权限
  • 构建流水线已将Mule应用可部署制品(*.jar/*.zip)发布至Anypoint Exchange
  • 流水线环境已安装Anypoint CLI 或 Maven(搭配Mule Maven插件)

步骤1:配置Anypoint认证

Anypoint CLI 方式

直接登录或通过环境变量注入认证信息(推荐流水线使用):

# 直接登录(适合手动测试)
anypoint-cli login --username <你的用户名> --password <你的密码> --organization <组织ID> --environment <环境ID>

# 流水线中用环境变量设置(避免硬编码)
export ANYPOINT_USERNAME="<你的用户名>"
export ANYPOINT_PASSWORD="<你的密码>"
export ANYPOINT_ORG_ID="<组织ID>"
export ANYPOINT_ENV_ID="<环境ID>"

Maven 方式

在settings.xml中配置Anypoint仓库认证:

<servers>
  <server>
    <id>anypoint-exchange</id>
    <username>${anypoint.username}</username>
    <password>${anypoint.password}</password>
  </server>
</servers>

步骤2:获取Exchange中制品的最新版本号

Anypoint CLI + jq 解析

# 替换为你的制品groupId和artifactId
LATEST_VERSION=$(anypoint-cli exchange asset versions get --groupId <group-id> --artifactId <asset-id> | jq -r '.[0].version')

注:jq用于解析CLI返回的JSON结果,取首个(最新)版本号。

Maven 方式

通过versions-maven-plugin查询最新版本:

mvn versions:display-dependency-updates -Ddependency=<group-id>:<asset-id>

或直接在流水线中用脚本提取最新版本号。

步骤3:拉取最新制品

Anypoint CLI 方式

anypoint-cli exchange asset download \
  --groupId <group-id> \
  --artifactId <asset-id> \
  --version $LATEST_VERSION \
  --output ./target/deployable-asset.jar

Maven 方式

配置Exchange为仓库后,拉取制品到指定目录:

<repositories>
  <repository>
    <id>anypoint-exchange</id>
    <url>https://maven.anypoint.mulesoft.com/api/v1/maven</url>
    <layout>default</layout>
  </repository>
</repositories>

执行拉取命令:

mvn dependency:get -Dartifact=<group-id>:<asset-id>:$LATEST_VERSION:jar -DoutputDirectory=./target

步骤4:部署到Cloudhub 1.0

Anypoint CLI 方式

anypoint-cli cloudhub app deploy \
  --name <Cloudhub应用名称> \
  --runtime mule-4.4.0 \ # 替换为你的Mule运行时版本
  --workers 1 \
  --worker-size 0.1 \ # 对应MICRO规格
  --environment <环境ID> \
  --file ./target/deployable-asset.jar \
  --properties '{"http.port":"8081"}' # 可选:设置应用自定义属性

Maven 方式

配置Mule Maven插件的部署参数:

<plugin>
  <groupId>org.mule.tools.maven</groupId>
  <artifactId>mule-maven-plugin</artifactId>
  <version>3.8.1</version> <!-- 使用与你的Mule版本兼容的最新插件版本 -->
  <configuration>
    <cloudHubDeployment>
      <username>${anypoint.username}</username>
      <password>${anypoint.password}</password>
      <environment>${anypoint.env}</environment>
      <applicationName>${cloudhub.app.name}</applicationName>
      <runtimeVersion>4.4.0</runtimeVersion>
      <workerType>MICRO</workerType>
      <workers>1</workers>
      <properties>
        <http.port>8081</http.port>
      </properties>
    </cloudHubDeployment>
  </configuration>
</plugin>

执行部署命令:

mvn mule:deploy \
  -Danypoint.username=<你的用户名> \
  -Danypoint.password=<你的密码> \
  -Danypoint.env=<环境ID> \
  -Dcloudhub.app.name=<应用名称> \
  -Dartifact.version=$LATEST_VERSION

流水线集成注意事项

  • 将Anypoint认证信息配置为CI/CD工具的保密变量,禁止硬编码到脚本或配置文件中
  • 针对多环境(测试、预发布、生产),使用流水线参数化切换环境ID、应用名称等配置
  • 添加部署后验证步骤:调用应用健康检查端点(如/api/health),确保应用启动正常

内容的提问来源于stack exchange,提问作者Nimesh Gayanga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:57:53