CI/CD配置
在项目中的根目录创建 .gitlab-ci.yml 文件,来配置 CI/CD 流程。
在 .gitlab-ci.yml 的开头,定义好所有阶段、以及执行每个任务之前所需要的环境变量以及准备工作,然后定义整个流程中包含的所有任务。
下面示例主要流程有测试→部署。
image: docker.cloudin.cn:5000/python38_ubuntu:v0.3
stages:
- build
- test
build:
stage: build
script:
- pip install -r requirements.txt
- pip install -r dev-requirements.txt
- make flake8
tags:
- python38
test:
stage: test
script:
- mkdir -p logs
- make test
tags:
- python38
自动测试
在测试任务中,准备工作是把需要的环境和库安装上,在before_script中完成。
完成该准备工作后就可以在script在执行测试命令或执行测试脚本等。
自动部署
在部署任务中,准备工作是把需要操作的服务器的公钥指纹收集到known_hosts中。
接着,把最新代码同步到服务器对应目录,然后通过ssh在服务器上执行相应的部署操作(启动或重启docker服务)。
关键字参数