使用Gitlab Runner实现Python CI

最近起了一个Gitlab Runner的Docker专门给Python项目跑CI,原先我有一个Runner是用的ssh方法给PHP项目用的,这个是用的docker方法

如何配置Gitlab Runner其实看官方文档就好了,不再赘述。这里因为我文档没看仔细所以有一个小问题,在执行的时候报错:Cannot connect to the Docker Daemon…

这个Runner我是使用Portainer这个可视化的Docker管理器部署的,忽略了一个镜像中的/var/run/docker.sock需要映射本机的/var/run/docker.sock,其实就是把本机的Docker服务拿来给这个Runner用

配置好就可以正常执行了

这是Python的单元测试示例代码:

使用的是Pytest单元测试框架

这里使用Tox执行命令。如果不用Tox,直接执行单元测试命令的话会出现提示说建议使用Tox来执行单元测试,我也是跟着建议用,Tox其实是一个能够支持多版本Python的虚拟环境,好用是挺好用的

这里是Tox的配置:

blank

以下是Gitlab CI的配置文件,这里面有的命令让安装重复了,没有删掉

blank

该项目地址:https://gitlab.tabll.cn/Tabll/python-test