我可以设法在.yml文件中硬编码shell脚本,这样当有人执行推送到Git仓库时,GitLab运行器就可以执行.yml内容。
我想探讨一下.yml文件是否可以从外部源(例如mysql数据库)获取数据,并使用循环生成shell脚本。
类似这样的事情: -
// this is a .yml file
get some data
foreach($data as $datum)
deploy_dev:
stage: deploy
script:
- echo "Deploy to server"
- eval $(ssh-agent)
- ssh-add ~/.ssh/key.pem
- ssh -p22 root@xxxx "do something"
environment:
name: dev
url: http://xxxx
only:
- dev
}
如果可能,那么我可以更新数据库数据 - > .yml - > CI / CD的动态阶段。
感谢。
答案 0 :(得分:0)
为什么不编写一个可以执行所需操作的脚本(使用任何语言)并在CI中运行此脚本?如果需要从管道中获取数据,可以将ENV变量传递给它。