mule服务器自动部署详细信息

时间:2014-06-16 21:43:40

标签: mule

我使用mmc来部署基于mule的应用程序。通过mmc部署的所有应用程序都转到mule服务器下的apps目录。如果我将应用程序直接放在mule-server / apps下,启动应用程序,应用程序运行成功,但我无法在mmc中查看部署详细信息。我需要在mule服务器上进行更改以在mmc中查看已部署的应用程序详细信息?

我需要通过shell脚本进行自动部署。为此,我正在创建一个示例项目,创建zip文件,在mule服务器应用程序方向下复制此zip文件。最后,一旦启动mmc,我需要在mmc中查看已部署的应用程序,以查看流量​​,运行应用程序,流量分析器等。

修改

根据下面给出的答案来部署一个新的应用程序,我已将我的URL作为:

curl --basic -u admin:admin -F file=@C:/apps/testserver-1.0.0-SNAPSHOT.zip -F name=test-app -F version=2.0 --header 'Content-Type: multipart/form-data' http://almule1.ux.corp.local:8585/mmc/api/repository

我收到的回复:

curl: (6) Could not resolve host: multipart {"versionId":"local$5015b8d6-b149-4245-a218-55c12aecc8e7","applicationId":"local$74616cb9-9ecb-4fd6-b167-bf153c8e59fb"}

我正在使用windows env在unix服务器中部署。

3 个答案:

答案 0 :(得分:5)

MMC从Mule ESB检索信息,因此您不应进行任何更改。无论如何,我认为在MMC之外部署应用程序并不是一个好主意。出于脚本目的,我更喜欢使用MMC Deployments REST API。您只需运行以下命令即可部署应用程序:

上传压缩应用程序

这会将您的应用程序上传到MMC。

    curl --basic -u admin:admin -F file=@my-zipped-app.zip -F name=test-app -F version=2.0 --header 'Content-Type: multipart/form-data' http://localhost:8080/mmc/api/repository 

列出可用服务器

    curl --basic -u admin:admin http://localhost:8080/mmc-console-3.4.0/api/servers

你应该得到服务器ID(我们假设它是本地的$ 26f2fea8-3b7c-45a7-84a8-d1509e73fca4),然后在这个命令中使用它:

创建部署

在开始申请之前,您需要创建一个部署,告诉MMC哪个服务器以及上传的应用程序的ID。

    curl --basic -u admin:admin -d '{"name" : "ExampleDeployment" , "servers": [ "local$26f2fea8-3b7c-45a7-84a8-d1509e73fca4" ], "applications": [ "local$32bb47d3-d180-4bb9-8906-2378dad9ae21" ]}' --header 'Content-Type: application/json' http://localhost:8080/mmc/api/deployments

执行部署

一旦有了服务器和部署,您就可以最终启动该应用程序了。

    curl --basic -u admin:admin -X POST 'http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36/deploy'

答案 1 :(得分:2)

这是Windows环境中的自动部署,它在Unix服务器中部署。

应用程序名称:testserver-1.0.zip

第1步:上传

curl --basic -u admin:admin -F file=@C:/apps/testserver-1.0.zip -F name=auto-deploy-server -F version=1.0 --header "Content-Type: multipart/form-data" http://allmule1.ux.corp.local:8585/mmc/api/repository

回应:

{"versionId":"local$fd507b45-25c2-4cc9-afe9-9f020f685867","applicationId":"local$47bcf1f3-72bc-4c08-ba50-4fe33422199c"}

第2步:获取服务器详细信息:

curl --basic -u admin:admin http://allmule1.ux.corp.local:8585/mmc/api/servers

响应:

{"total":1,"data":[{"agents":[{......,"agentUrl":"https://localhost:7777/mmc-support","version":"3.4.2","name":"Mule-3.4.2","id":"local$5a6c4f81-7b35-425d-95bd-200224f60a2b"}]}

注意:此处服务器ID为:local $ 5a6c4f81-7b35-425d-95bd-200224f60a2b 从步骤1获取VERSION ID(不是应用程序ID)

第3步:部署

curl --basic -u admin:admin -d  "{\"name\" : \"Auto-Deployment\" , \"servers\": [ \"local$5a6c4f81-7b35-425d-95bd-200224f60a2b\" ], \"applications\": [ \"local$fd507b45-25c2-4cc9-afe9-9f020f685867\" ]}" --header "Content-Type: application/json" http://allmule1.ux.corp.local:8585/mmc/api/deployments

回应:

{"applications":["local$fd...,"name":"Auto-Deployment","id":"local$9062bbe7-75ab-4658-b021-8314b1681511","lastModified":"Wed, 18 Jun 2014 12:27:30.610 PDT"}

请注意此处部署ID:本地$ 9062bbe7-75ab-4658-b021-8314b1681511

第4步:部署

curl --basic -u admin:admin -X POST http://allmule1.ux.corp.local:8585/mmc/api/deployments/local$9062bbe7-75ab-4658-b021-8314b1681511/deploy

响应:已部署部署

验证您的服务器控制台,应用程序可能已部署。

重新部署

curl --basic -u admin:admin -X POST http://allmule1.ux.corp.local:8585/mmc/api/deployments/local $ 9062bbe7-75ab-4658-b021-8314b1681511 / redeploy

取消部署:

curl --basic -u admin:admin -X POST http://allmule1.ux.corp.local:8585/mmc/api/deployments/local $ 9062bbe7-75ab-4658-b021-8314b1681511 / undeploy

答案 2 :(得分:0)

使用Mule管理控制台和Maven进行自动部署 https://dzone.com/articles/automated-deployment-mule?mz=38541-devops