Parasoft Docker 镜像是一个模板,它包含了 Parasoft Virtualize 服务器、Parasoft 持续测试平台、Parasoft 数据存储库服务器、所有必需的软件依赖项(例如 Apache Tomcat、JRE...)以及连接到 Parasoft 许可服务器的默认配置设置。在本章节中:

前提条件

确保符合下列组件的系统要求:

Parasoft Virtualize 服务器 

请查阅 部署 Parasoft Virtualize Server WAR File

Parasoft 数据存储库

  • 适用于 2008 R2 及更高版本的 64 位发行版 Windows
  • 下面是 64 位发行版 Linux:
    • Amazon
    • Debian 7
    • RHEL 5, 6, 7
    • SUSE 11
    • Ubuntu 12.04, 14.04, 14.10
  • Mac OS X

许可证 

Docker 中部署的 Parasoft 产品的授权使用的机器码来自 Docker 容器 ID。如果克隆 Docker 容器,克隆将拥有一个不同的机器码,并且需要一个新的许可证,除非您有一个浮动许可证。对于从许可证服务器发出的浮动许可证,我们建议在 Docker 外部的网络上使用许可证服务器。如果有任何关于授权的其他问题,请联系 Parasoft 代表。

配置一个新的 Docker 镜像 

若要在 Docker 上部署,需要在配置文件中配置默认连接细节,构建 Docker 镜像,然后运行 soavirt Docker 镜像。

  1. 下载并安装,如 https://docs.docker.com/docker-for-windows/中所述。这个页面包含 Windows 指令以及到 Linux 和 Mac 指令的链接。
  2. 启动命令提示符并将目录(cd)更改为提取 Parasoft Docker 文件的文件夹。此文件夹将包含以下子文件夹
    • ctp
    • datarepository 
    • server-jre8 
    • soavirt 
    • tomcat8
  3. (可选)编辑 soavirt/Dockerfile 文件和 ctp/Dockerfile 文件中的环境变量的默认值。ENV 命令声明一个新的环境变量。环境变量名和值应该用空格分隔。

    变量说明
    ENV VIRTUALIZE_SERVER_NAME Docker

    指定应用于在环境管理器上标记此服务器的名称。

    ENV CTP_HOST localhost

    此虚拟服务器启动时应在其中注册的 CTP 服务器的主机名或 IP 地址。如果您的 CTP 运行在 Docker 容器外部的 localhost 上,请指定 IP 地址(例如 10.10.255.47),而不是 localhost。

    ENV CTP_PORT 8080

    应该用于连接到 CTP 的端口。

    ENV CTP_USERNAME admin

    应该用于连接到 CTP 的用户名(如果启用了身份验证)。

    ENV CTP_PASSWORD admin

    用于连接到 CTP 的密码(如果启用了身份验证)。

    ENV CTP_NOTIFY true

    如果为真,则虚拟服务器在部署虚拟资产时通知 CTP。

    ENV LICENSE_EDITION custom_edition

    从许可证服务器请求的 Virtualize 许可证版本。

    ENV LICENSE_FEATURES "Service Enabled, Performance, Extension Pack, Validate, Message Packs, Unlimited Hits\/Day"

    使用自定义版本许可证时,从许可证服务器请求的 Virtualize 许可证特性。

    ENV LICENSE_SERVER_HOST localhost

    用于请求 Virtualize 许可证的许可证服务器的主机名或 IP 地址。

    ENV LICENSE_SERVER_PORT 2002

    用于连接到许可证服务器的端口。

    如何排除数据存储库

    如果不希望在 Docker 镜像中包含数据存储库,请将 soavirt/Docker 文件的第一行从 FROM datarepository 更改为 FROM tomcat8


  4. 在 Docker 终端中按如下顺序执行以下命令,为每个子文件夹构建 Docker 图像:

    docker build -t server-jre8 server-jre8/
    docker build -t tomcat8 tomcat8/
    docker build -t datarepository datarepository/
    docker build -t soavirt soavirt/
    docker build -t ctp ctp/
  5. 使用以下格式执行一个命令来运行新创建的 Docker 镜像:

    docker run -it --rm -p 8080:8080 -p 9080:9080 ctp

    将启动数据存储库服务器、Virtualize 服务器和 CTP。

    CTP 已经运行在 Docker 容器之外

    如果 CTP 已经在 Docker 容器 运行,则运行 soavirt Docker 镜像:

    docker run -it --rm -p 2424:2424 -p 9080:9080 soavirt

    这个 -it 选项使正在运行的 Docker 容器具有交互性,因此它将继续运行,直到在终端中按下 Ctrl-C。

    这个 -rm 选项将 CTP 和 Virtualize 服务器配置为一次性沙箱。在关闭时,Docker 容器将被删除并放弃对 CTP 数据库、Virtualize 工作区和数据存储库的任何更改。如果希望能够关闭 CTP 和 Virtualize,然后在重启之后继续您的工作,请不要使用此选项。

    设置 -p 2424:2424 将端口 2424 从 Docker 容器映射到主机中的端口 2424(用于数据存储库)。

    设置 -p 8080:8080 将端口 8080 从 Docker 容器映射到主机中的端口 8080(用于 CTP)。

    设置 -p 9080:9080 将端口 9080 从 Docker 容器映射到主机中的端口 9080(用于 Virtualize)。

现在,您应该看到 CTP 中列出的 Virtualize 服务器,并且能够使用 CTP web 接口(默认情况下是 http://localhost:8080/)创建虚拟资产或上传 .pva 文件。

如何仅使用 CTP(没有数据存储库或 Virtualize)创建 Docker 映像

如果想创建一个只有 CTP 而没有数据存储库或 Virtualize 的 Docker 镜像,请将 CTP /Dockerfile 的第一行从 FROM soavirt 更改为 FROM tomcat8 ,然后重新构建 ctp 镜像。

更改配置

如果想在不重新构建 soavirt 和 ctp 镜像的情况下覆盖默认配置(例如,使用不同的 CTP 或许可证服务器),请执行以下操作:

  1. 关闭正在运行的容器。
  2. 使用 -e 选项覆盖 run 命令中的环境变量,并使用等号分隔环境变量名称/值。 
示例1:
docker run -it --rm -p 2424:2424 -p 9080:9080 -e CTP_HOST=em.acme.com -e CTP_PORT=8080 -e LICENSE_SERVER_HOST=ls.acme.com soavirt
示例2:
docker run -it --rm -p 2424:2424 -p 9080:9080 -e CTP_HOST=10.10.255.47 -e CTP_PORT=8080 -e LICENSE_SERVER_HOST=license.parasoft.com soavirt

现在,您应该看到 CTP 中列出的 Virtualize 服务器,并且能够使用 CTP web 接口(默认情况下是 http://localhost:8080/)创建虚拟资产或上传 .pva 文件。

更改 Docker 镜像中的默认配置

您可以更改 Docker 镜像内的默认配置,其中包括重新构建 ctp 和 soavirt 镜像。

  1. 关闭 Docker 容器(比如,在终端按 Ctrl-C)。
  2. 删除 soavirt 和 ctp 图像:
    1. 在 Docker 终端,输入以下命令:

      docker images
       
    2. 输入以下命令删除 ctp 镜像:

      docker rmi ctp
       
    3. 输入以下命令删除 soavirt 镜像

      docker rmi ctp
       
    4. 输入以下命令,验证图像是否已删除:

      docker images
       
  3. 根据需要编辑 ctp/Dockerfile 和 soavirt/Dockerfile 文件。
  4. 通过输入以下命令,从 Docker 终端中的基本文件夹重新构建:

    docker build -t soavirt soavirt/
    docker build -t ctp ctp/


  • No labels