老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

開發(fā)cloudify配方文件-自定義命令

為什么要使用自定義命令

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供綠春網(wǎng)站建設(shè)、綠春做網(wǎng)站、綠春網(wǎng)站設(shè)計、綠春網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、綠春企業(yè)網(wǎng)站模板建站服務(wù),十載綠春做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

在很多場景下,你想更好的控制你的應(yīng)用服務(wù)而不僅僅局限在內(nèi)置的生命周期事件中。例如,你想實現(xiàn)各種服務(wù)等級的問題,比如熱升級(替換.war文件后刷新web容器)、數(shù)據(jù)庫模式升級等等。

Cloudify使用groovy閉包、外置groovy腳本、外置shell/batch腳本來提供自定義命令機制。這些命令可以在cloudify shell下運行。

描述一個自定義命令

自定義命令的描述在服務(wù)描述文件customCommands部分。每個customCommands 塊使用數(shù)組來包含一個或多個命令。

下面是customCommands引用Groovy、shell、batch腳本的例子:

custom1.groovy

/* Run myFile.groovy whenever YOUR_COMMAND_NAME is invoked. */

customCommands ([

"YOUR_COMMAND_NAME" :"myFile.groovy"

])

/* Run myOtherFile.sh whenever YOUR_2ND_COMMAND_NAME is invoked. */

customCommands ([

"YOUR_2ND_COMMAND_NAME" :"myOtherFile.sh"

])

/* Run myBatchFile.bat whenever YOUR_3RD_COMMAND_NAME is invoked. */

customCommands ([

"YOUR_3RD_COMMAND_NAME" :"myBatchFile.bat"

])

下面是在customCommands塊下使用Groovy閉包程序的例子:

customCommands2.groovy

customCommands ([

// A command with two parameters (firstName and lastName)

"YOUR_COMMAND_NAME" :{firstName,lastName ->

deflineSeparator =System.getProperty("line.separator");

defuserFile =newFile(context.serviceDirectory +lineSeparator +firstName+"_"+lastName+".txt";

System.out.println("User :"+firstName+" " +lastName +" text is "+userFile.text)

returntrue

}

])

當(dāng)需要在groovy閉包程序或腳本內(nèi)使用用戶定義的java庫,可以使用import聲明,并將jar文件放在這個服務(wù)的usmlib(比如:recipesservicesmongodbmongoConfigusmlib)文件夾中

任何外置腳本必須復(fù)制到服務(wù)文件夾中

customCommands部分必須寫在相關(guān)服務(wù)描述文件的綜述部分(-service.groovy),例:

tomcat.groovy

service {

name "tomcat"

icon "tomcat.gif"

type "WEB_SERVER"

numInstances 1

compute {

template "SMALL_LINUX_32"

}

lifecycle {

install "tomcat_install.groovy"

start "tomcat_start.groovy"

}

customCommands ([

"updateWar" :"update_war.groovy"

])

}

調(diào)用自定義命令

在部署應(yīng)用時,你的自定義命令才被注冊。一旦你的應(yīng)用運行,在cloudify shell下可以隨時使用自定義命令

在cloudify shell下調(diào)用自定義命令需要使用參數(shù),如:invokeServiceName customCommandName

自定義命令有兩個參數(shù),則:invokeServiceName customCommandName x y

場景:

使用cloudify部署你的應(yīng)用到云中,應(yīng)用包含一個tomcat服務(wù) 安裝完應(yīng)用,你修復(fù)了一個web應(yīng)用的bug
你想更新.war文件而不想掛掉tomcat服務(wù)器或虛擬主機,即重部署整個應(yīng)用程序

為了實現(xiàn)更新需要做以下工作

在部署應(yīng)用程序前,在tomcat服務(wù)描述文件的customCommands塊下描述下列updateWar自定義命令

update_warcc.groovy

customCommands ([

"updateWar" :"update_war.groovy"

])

復(fù)制下列update_war.groovy腳本到tomcat服務(wù)文件夾

import groovy.util.ConfigSlurper

defconfig=newConfigSlurper().parse(newFile("tomcat.properties").toURL())

defant =newAntBuilder();

ant.get(src:config.applicationWarUrl,dest:config.applicationWar,skipexisting:false)

ant.copy(todir: "${catalinaHome}/webapps",file:config.applicationWar,overwrite:true)

在Cloudify shell下調(diào)用updateWar命令: connectREST-ADMIN-SERVER-URL(連接cloudify管理的機器) use-applicationYOUR-APP-NAME(設(shè)置當(dāng)前應(yīng)用的上下文) invoketomcat updateWar

文章標(biāo)題:開發(fā)cloudify配方文件-自定義命令
文章起源:http://www.xueling.net.cn/article/cpjjis.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 一级做a爰片久久高潮 | 乱人伦中文字幕成人网站在线 | 国产肥熟老胖女在线看 | 国产精品嫩草影院免费观看 | 久久人人插 | 日韩av综合网| 少妇一级淫片免费放播放 | 国产成人一二三 | 91av在线免费 | 国产我和子的与子乱视频 | 国产在线视频资源 | 亚洲国产影院 | 又黄又爽又猛1000部A片 | 国产一级做a爰片在线看免费 | 人妻精品动漫h无码中字 | 一区二区三区四区在线看 | 在线综合亚洲欧美在线视频 | 成人A级视频在线播放 | 大伊香蕉精品一区视频在线 | 亚洲欧美日韩国产自偷 | 九一精品久久久 | 国产成人亚洲精品青草 | 国产高清色高清在线观看 | 91色噜噜狠狠狠狠色综合 | 国产成人片《羞羞》上映 | 老头巨大挺进莹莹的体内免费视频 | 丝袜人妻无码专区视频 | 在线免费观看视频一区二区 | 久久久这里有精品999 | 国产男小鲜肉同志免费 | 97超碰在线播放 | 日韩1级片| 完美世界免费观看完整 | 国产成人超碰人人澡人人澡 | 国产主播精品 | 农村妇女高清毛片一级 | 天天综合久久综合 | 国产美女在线精品免费观看 | 久久草在线观看视频 | 91精品一区二区三区在线 | 久久久噜噜噜久久中文字幕色伊伊 |