Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 自动化docker以运行测试脚本_Bash_Docker_Automation_Docker Compose - Fatal编程技术网

Bash 自动化docker以运行测试脚本

Bash 自动化docker以运行测试脚本,bash,docker,automation,docker-compose,Bash,Docker,Automation,Docker Compose,我有三个docker文件,每个图像都有入口点bash文件。每个docker文件都有不同的用途,例如: Dockerfile 1:-此文件用于创建映像并运行容器,该容器用于提取我的项目存储库,并使其可用于我的主机目录 Dockerfile 2:-此文件用于创建映像并运行容器,该容器根据现有项目代码创建jar文件,并使其可用于我的主机目录 Dockerfile 3:-此文件用于创建映像并运行容器,容器使用创建的jar文件并运行测试用例 现在,我想使用docker compose或docker的

我有三个docker文件,每个图像都有入口点bash文件。每个docker文件都有不同的用途,例如:

  • Dockerfile 1:-此文件用于创建映像并运行容器,该容器用于提取我的项目存储库,并使其可用于我的主机目录

  • Dockerfile 2:-此文件用于创建映像并运行容器,该容器根据现有项目代码创建jar文件,并使其可用于我的主机目录

  • Dockerfile 3:-此文件用于创建映像并运行容器,容器使用创建的jar文件并运行测试用例


  • 现在,我想使用docker compose或docker的任何其他可用选项自动化整个过程。有谁能指导我如何自动化这三个独立的过程,以便我可以轻松地自动化从提取项目代码到使用其间创建的jar文件运行测试用例的过程。我可以获得任何与此相关的文章或Docker compose示例文件。

    类似的内容可以帮助您开始

    版本:“2.2”
    服务:
    app-1:
    建造:
    上下文:。
    dockerfile:/path/to/dockerfile 1
    命令:
    app-2:
    建造:
    上下文:。
    dockerfile:/path/to/dockerfile 2
    命令:
    app-2:
    建造:
    上下文:。
    dockerfile:/path/to/dockerfile 3
    命令:
    
    如果前两个任务的目标是“使其可用于我的主机目录”,那么听起来您希望在主机系统上运行Git和Maven/Gradle,而不是在Docker中。在任何情况下,您都应该能够使用shell脚本非常直接地完成这项工作(Compose对于运行一系列临时容器来说不是很好。)您已经尝试了什么,遇到了什么问题?我不想安装git和maven,而是想使用docker image,为此我使用docker。运行第一个映像将为我提供存储库的最新代码,第二个映像将创建jar文件。我将这两个任务分开,因为我需要在不同的情况下使用第一个映像,比如部署我的应用程序,或者用于任何将作为其他docker映像输入的目的。在本例中,我希望通过使用三个相应的容器来自动运行测试脚本。OK。这似乎是一个很好的方法,让我试试。
    version: '2.2'
    services:
      app-1:
        build:
          context: .
          dockerfile: /path/to/Dockerfile1
        command: <something>
      app-2:
        build:
          context: .
          dockerfile: /path/to/Dockerfile2
        command: <something>
      app-2:
        build:
          context: .
          dockerfile: /path/to/Dockerfile3
        command: <something>