Используя переменные в jacl и wsadmin
Я пытаюсь использовать переменные в сценарии установки в wsadmin на jacl. Сначала я указываю
set nodeName [$AdminControl getNode]
set cellName [$AdminControl getCell]
Затем в моем скрипте я хочу использовать эти 2 переменные, но по какой-то причине они хотят взять их
$AdminApp install C:/ssc.war { -nopreCompileJSPs -installed.ear.destination $(APP_INSTALL_ROOT)/$(CELL) -distributeApp -nouseMetaDataFromBinary -nodeployejb -appname ssc_war -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -asyncRequestDispatchType DISABLED -nouseAutoLink -noenableClientModule -clientMode isolated -novalidateSchema -contextroot /ssc -MapModulesToServers {{"F" ssc.war,WEB-INF/web.xml WebSphere:cell=$**cellName**,node=$**nodeName**,server=server1}} -MapWebModToVH {{"Fortify Portal" ssc.war,WEB-INF/web.xml default_host}} -CtxRootForWebMod {{"Fortify Portal" ssc.war,WEB-INF/web.xml /ssc}}}
Возможно, что-то не так с синтаксисом
1 ответ
В исходном скрипте, который вы указали, я не вижу попыток использовать переменные nodeName
или же cellName
, Кроме того, вы действительно хотите предоставить все эти аргументы? Большинство из них по умолчанию. Кроме того, вы не помещаете кавычки "вокруг пути.war, который требуется.
Чтобы использовать переменную в сценарии wsadmin, поместите $
знак перед именем переменной. Такие как:
set myvar "test"
puts $myvar
Итак, чтобы установить приложение, оно должно быть таким простым:
set cellName [$AdminControl getCell]
set nodeName [$AdminControl getNode]
set serverName [$AdminControl getServer]
$AdminApp install "C:/ssc.war" {
-node $nodeName
-cell $cellName
-server $serverName
}
Я бы посоветовал взглянуть на документацию IBM для сценариев WebSphere, в которой описывается, что вы пытаетесь сделать: установка корпоративных приложений с использованием сценариев wsadmin