在部署前运行dockertesting的最佳方式是什么?
我目前的设置是,我已经在我的VPS调用中设置了我的git裸仓库。
所以,当我这样做:
git push staging staging
我重新运行我的docker安装目录引用git-workdirs。
现在,我还想添加在Docker中运行testing,如果失败了,请回滚到之前的(工作)提交。 [1]
什么是最好的办法[1]
我目前的钩子是这样的:
$worktree = /my/work/directory $gitdir = /my/repo/dir.git $containername = mycontainer git --work-tree=$worktree --git-dir=$gitdir checkout staging -f cd $worktree docker stop $containername || true docker kill $containername || true docker rm $containername || true docker run -d -p $port1:$port2 --name $containername -v $worktree:/root/src -it $imagename bash -c $runscript
(可能不会直接回答你的问题,但用不同的方法,你不需要重新发明轮子)
我做了厨房testing ,它可以启动一个新的testing实例,它可以是vmware,ec2实例等,它可以是不同的驱动程序(stream浪者,EC2,docker等,当然,你不能testingdocker),你可以运行完全相同的代码来自动validation。
这是入门指南
如果一切正常,一个命令kitchen test
运行所有部署,直接testing和销毁实例。
testing用例使用了serverspec ,你可以很容易地testing运行的实例,端口侦听等等。关于testing用例的细节,请参考serverspec资源types
您也可以手动运行以下步骤以逐步进行故障排除
kitchen test = kitchen create + kitchen converge + kitchen verify + kitchen destroy
- 无法将Jenkins Windows 10 Slave连接到Master运行
- 如何将Docker Backing Filesystem设置为XFS?
- docker守护进程不连接
- 由于Beyond Trust privman64.dll,VirtualBox V5.1.24 r1170无法运行Windows 7
- 无头量angular器不分片testing
- 要运行Windows应用程序的自动化testing没有监视器,我的意思是,我不想要UI,在内存中运行testing
- Jenkins无法在Docker中运行Python文件 – 文件未find
- 如何在多个docker机器上构build和启动容器
- 在ECS上部署Cassandra?