我正在使用一个名为Drone(drone.io)的CI工具。所以我真的很想用它做一些集成测试。我想要的是Drone在drone主机上的某个端口上启动我的应用程序容器,然后我就可以对它运行集成测试。例如,在.drone.yml文件中:
build:
image: python3.5-uwsgi
pull: true
auth_config:
username: some_user
password: some_password
email: email
commands:
- pip install --user --no-cache-dir -r requirements.txt
- python manage.py integration_test -h 127.0.0.1:5000
# this should send various requests to 127.0.0.1:5000
# to test my application's behaviour
compose:
my_application:
# build and run a container based on dockerfile in local repo on port 5000
publish:
deploy:发布于 2016-09-16 00:30:10
Drone 0.4不能从你的Dockerfile启动服务,如果你想启动docker容器,你应该在这个构建之前构建它,并推送到dockerhub或你自己的注册表,并将其放入compose部分,请参阅http://readme.drone.io/usage/services/#images:bfc9941b6b6fd7b4ef09dd0ccd08af0c
您还可以在运行集成测试之前在build,nohup python manage.py server -h 127.0.0.1:5000 &中启动应用程序。在运行integration_test之前,请确保您的应用程序已启动并侦听5000端口。
我建议你使用带有管道的drone 0.5,你可以构建docker镜像,并在构建之前将其推送到注册表,并在构建中使用它作为服务。
https://stackoverflow.com/questions/39450569
复制相似问题