Board logo

标题: 利用 IBM Workload Deployer CLI 自动化 WebSphere 应用程序部署(2) [打印本页]

作者: look_w    时间: 2018-9-14 17:03     标题: 利用 IBM Workload Deployer CLI 自动化 WebSphere 应用程序部署(2)

从以开发为中心转换为以操作为中心上面的集成是一种将 WebSphere CloudBurst 集成到一个部署自动化系统中的方式。您可以说它是以开发为中心的方法:您拥有要部署的应用程序,选择将它部署到一个按需环境。应用程序部署系统(在本例中为 Deployit)确保存在该环境,然后将应用程序部署到该环境中。
另一种方法可以称为以操作为中心的方法:系统管理员希望扩展基础架构,且需要将一个应用程序安装在该系统上以实现全部功能。在此场景中,WebSphere CloudBurst 将调用部署自动化解决方案来将应用程序部署到新创建的虚拟系统上。
脚本包WebSphere CloudBurst CLI 提供了一种方式来调用 WebSphere                CloudBurst,而  提供了一种方式从 WebSphere CloudBurst 调用另一个系统。最简单来讲,一个脚本包就是一个 .zip 或 tar.gz 文件,您可以将它  并 。当部署该模式时,脚本包会被复制到该模式中选定的主机上,而该命令会在执行创建的脚本包时指定。
但是,有两点使脚本包更加强大。首先,您可以定义用户必须在部署包含该脚本包的模式时输入的变量。这些值会被添加到默认可用于正在执行的命令的  中。
第二,您可以  在脚本包自身中定义脚本包的配置。这使脚本包开发人员可预先定义配置,减轻 WebSphere CloudBurst 管理员的这一负担。
使用脚本包调用部署自动化系统因为任何内容都可以放在脚本包内,我们将把 Deployit CLI(一个基于 Jython 的 CLI,类似于 wsadmin 和 CloudBurst CLI 自身)放在脚本包内。当执行脚本包时,会运行 Deployit CLI,告诉 Deployit 服务器(在一个不同的机器上运行)发现新创建的虚拟系统,然后将应用程序部署到所发现的环境上。
此集成的最有趣的部分是 JSON 对象。它定义:
在本例中,您希望 WebSphere CloudBurst 用户告诉您要部署的应用程序 (APPLICATION) 和该应用程序的版本 (VERSION)。(清单 3)。
清单 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[{
"name": "Invokes Deployit to deploy an application",
"version": "1.0.0",
"description": "This script package invokes Deployit to deploy an application onto
the pattern",
"command": "/opt/tmp/deployit-scriptpackage/deploy-application.sh",
"log": "/opt/tmp/deployit-scriptpackage/logs",
"location": "/opt/tmp/deployit-scriptpackage",
"timeout": "0",
"commandargs": "$APPLICATION $VERSION",
"keys": [
{
"scriptkey": "APPLICATION",
"scriptvalue": "",
"scriptdefaultvalue": ""
},
{
"scriptkey": "VERSION",
"scriptvalue": "",
"scriptdefaultvalue": ""
}]
}]




从脚本包配置引用的 deploy-application.sh 脚本(清单 4)设置 Deployit CLI 脚本所使用的 TARGETHOST 环境变量,以发现 WebSphere Application Server 配置文件,设置用于确定要部署哪个应用程序的那个版本的 APPLICATION 和 VERSION 环境变量,然后调用 Deployit CLI 来运行 deploy-application.py 脚本。
清单 4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh

export JAVA_HOME=/opt/IBM/HTTPServer/Plugins/java/jre
export APPLICATION=$1
export VERSION=$2
export TARGETHOST=`hostname`
echo "Deploying version $VERSION of application $APPLICATION to WAS on virtual host
$TARGETHOST"

cd `dirname $0`

chmod +x bin/cli.sh
bin/cli.sh -host deployit -username admin -password admin -f
deploy-application.py




集成 2:从 WebSphere CloudBurst 到 Deployit 这是系统管理员将遵循的场景:
创建虚拟系统之后,执行脚本包。脚本包调用 Deployit CLI 来告诉 Deployit 服务器发现新创建的虚拟系统上的 WebSphere Application Server 配置文件。脚本包调用 Deployit CLI 来告诉 Deployit 服务器将 PetClinic-ear 应用程序的 1.0 版部署到这个新的 WebSphere Application Server 配置文件上(图 6)。
图 6. 部署应用程序




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0