Я работаю над небольшим скриптом, чтобы взять некоторые переменные, packageName, newVersion. Я погуглил и попробовал очень много, и это заставляет меня спрашивать.
Сценарий выполняется как: updatePackage.sh -p weblogic-pkg-1 -v 2.0.1-B3
Это гласит:
## Weblogic Deployment
'weblogic-pkg-1':
ensure: 'present'
deploymenttype: 'AppDeployment'
versionidentifier: '2.0.0-B2'
timeout: 60
stagingmode: "nostage"
remote: "1"
upload: "1"
target:
- "%{hiera('package_clustername')}"
targettype:
- 'Cluster'
localpath: '/opt/releases/staging/applications/weblogic-pkg-1/weblogic-pkg-1-2.0.0-B2.war'
Я пытаюсь заставить скрипт изменить номер версии, когда он соответствует пакету, поэтому желаемый результат:
## Weblogic Deployment
'weblogic-pkg-1':
ensure: 'present'
deploymenttype: 'AppDeployment'
versionidentifier: '2.0.1-B3'
timeout: 60
stagingmode: "nostage"
remote: "1"
upload: "1"
target:
- "%{hiera('package_clustername')}"
targettype:
- 'Cluster'
localpath: '/opt/releases/staging/applications/weblogic-pkg-1/weblogic-pkg-1-2.0.1-B3.war'
В файле YAML содержится около 50 пакетов, поэтому я не могу просто с сожалением сказать о sed /version /newVersion. Система также довольно заблокирована, поэтому добавить в ОС парсер yaml может быть сложно.
Какие-нибудь советы?
Спасибо
Дейв