GitLab Runner - .yml中的动态数据

时间:2018-04-12 08:11:27

标签: gitlab-ci gitlab-ci-runner

我可以设法在.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的动态阶段。

感谢。

1 个答案:

答案 0 :(得分:0)

为什么不编写一个可以执行所需操作的脚本(使用任何语言)并在CI中运行此脚本?如果需要从管道中获取数据,可以将ENV变量传递给它。