我可以设法在 .yml 文件中硬编码 shell 脚本,以便 GitLab 运行器可以在有人对 Git 存储库执行推送时执行 .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
}
如果可能的话,我可以更新 CI/CD 的数据库数据 -> .yml ->动态阶段。
谢谢。
你为什么不编写一个脚本(用任何语言(来做你想要的,并在你的CI中运行这个脚本?如果需要从管道获取数据,可以将 ENV vars 传递给它。