gpt4 book ai didi

docker - 使用Docker-Compose UP进行Elixir测试

转载 作者:行者123 更新时间:2023-12-02 19:22:20 24 4
gpt4 key购买 nike

我已经在Elixir中创建了一个简单的Sonatype API客户端,该客户端返回了存储库和存储库的组件。

现在,我需要在Elixir中创建测试,以便可以验证存储库。我正在使用docker-compose启动sonatype容器。我需要测试以通过docker-compose up使用一个新的Docker(sonatype)存储库开始,然后验证其中没有任何容器。然后从那里添加一个或多个图像,然后验证是否存在我添加的图像。作为清理,我可以删除那些图像。它必须是一组可以在CI中运行的自动化测试,或者用户可以在其本地计算机上运行。

我的问题是如何通过.exs测试文件或bash脚本文件来做到这一点?

最佳答案

您可以使用以下内容构建docker-compose.yml文件:

version: "2.2"
services:
my_app:
build:
context: .
ports:
- 4000:4000
command: >
bash -c 'wait-for-it -t 60 sonatype:1234
&& _build/prod/rel/my_app/bin/my_app start'

tests:
extends:
service: my_app
environment:
MIX_ENV: test
LOG_LEVEL: "warn"
working_dir: /my_app
depends_on:
- sonatype
command:
bash -c 'mix test'

sonatype:
image: sonatype/nexus3:3.19.1
ports:
- "1234:1234"

然后,您将获得一个类似于 test.sh的bash脚本:
docker-compose build tests
docker-compose run tests

EXIT=$?

docker-compose down --volumes

exit $EXIT

我对Sonatype不熟悉,所以这可能没有意义,您需要进行调整。

关于docker - 使用Docker-Compose UP进行Elixir测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58755736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com