如何为三种不同目的创建一个 Gitlab CICD 管道
How can I create one Gitlab CICD pipeline for three different purposes
我是一名学生,我有一个关于采用 CICD 管道进行网络自动化的研究项目,使用 Gitlab CICD 管道、Ansible 和 NAPALM 进行网络配置自动化。我必须做很多 3 个研究案例,如下所示:
研究案例 1:向网络设备部署候选配置或部署新的网络服务;我完成了以下管道:
阶段:
- 验证
测试环境
- deploy_to_test
- deploy_to_test_验证
生产环境
- deploy_to_prod
- deploy_to_prod_验证
研究案例 2:我做了一些剧本来删除 L2 接口以进行维护。
研究案例 3:我做了一个剧本来使用 Ansible 和 NAPALM 替换整个网络设备配置;这也是为了维护目的。
我为案例研究1做了一个“.gitlab-ci.yml”文件,因为我还是一名学生,我没有这方面的工作经验。我认为将所有研究案例都放在一个“.gitlab-ci.yml”文件中是不合理的,因为它们用于不同的目的;我说的对不对,我不知道。
我的问题:我可以在“.gitlab-ci.yml”文件中完成所有研究案例,或者为每个案例创建一个存储库“新 CICD 管道”.gitlab-ci.yml”文件”研究案例?
例如,一个“.gitlab-ci.yml”文件用于接口维护,一个用于部署新的或更改配置,一个用于替换整个配置。
如果我可以在一个文件中完成它们,我怎么能 运行 只 运行 我想要的研究案例而忽略其他两个?
如果没有,解决方案是什么?
非常感谢
您可以指定 gitlab-jobs 到 运行 只有在某些情况下,通过引用 only:
和 except:
关键字来创建作业的范围。
或者您可以使用更强大的 rules:
,它可以让您更好地区分什么时候应该 运行。
https://docs.gitlab.com/ee/ci/jobs/job_control.html
两者基本上都允许在单个管道配置文件中使用多个管道(或者更确切地说是作业序列)。
我是一名学生,我有一个关于采用 CICD 管道进行网络自动化的研究项目,使用 Gitlab CICD 管道、Ansible 和 NAPALM 进行网络配置自动化。我必须做很多 3 个研究案例,如下所示: 研究案例 1:向网络设备部署候选配置或部署新的网络服务;我完成了以下管道:
阶段:
- 验证
测试环境
- deploy_to_test
- deploy_to_test_验证
生产环境
- deploy_to_prod
- deploy_to_prod_验证
研究案例 2:我做了一些剧本来删除 L2 接口以进行维护。 研究案例 3:我做了一个剧本来使用 Ansible 和 NAPALM 替换整个网络设备配置;这也是为了维护目的。
我为案例研究1做了一个“.gitlab-ci.yml”文件,因为我还是一名学生,我没有这方面的工作经验。我认为将所有研究案例都放在一个“.gitlab-ci.yml”文件中是不合理的,因为它们用于不同的目的;我说的对不对,我不知道。
我的问题:我可以在“.gitlab-ci.yml”文件中完成所有研究案例,或者为每个案例创建一个存储库“新 CICD 管道”.gitlab-ci.yml”文件”研究案例? 例如,一个“.gitlab-ci.yml”文件用于接口维护,一个用于部署新的或更改配置,一个用于替换整个配置。
如果我可以在一个文件中完成它们,我怎么能 运行 只 运行 我想要的研究案例而忽略其他两个? 如果没有,解决方案是什么? 非常感谢
您可以指定 gitlab-jobs 到 运行 只有在某些情况下,通过引用 only:
和 except:
关键字来创建作业的范围。
或者您可以使用更强大的 rules:
,它可以让您更好地区分什么时候应该 运行。
https://docs.gitlab.com/ee/ci/jobs/job_control.html
两者基本上都允许在单个管道配置文件中使用多个管道(或者更确切地说是作业序列)。