我使用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服务器中部署。
答案 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