【发布时间】:2021-05-19 07:36:17
【问题描述】:
我们有一个看起来像这样的詹金斯管道
pipeline {
agent {
kubernetes {
inheritFrom 'default'
yamlFile 'pipeline_agent.yaml'
}
}
stages {
stage('build backend') { ... }
stage('build frontend') { ... }
stage('combine to jar file') { ... }
stage('test') { ... }
}
}
我们的pipeline_agent.yaml 然后包含所有不同阶段的容器,因此一个用于使用 gradle 构建,一个用于构建前端的节点,一个用于测试的单独自定义容器,等等。
所以这个“有效”并且输出很好,但问题是我们提供了很多资源,这些资源在管道的整个持续时间内都没有使用。
例如,最好释放所有未使用的容器,然后增加test 阶段的资源请求。
但我不完全确定该怎么做。 我可以在每个阶段添加一个代理块,然后我可以根据需要配置容器,但是我认为我不能在它们之间共享数据/构建输出。
是否有任何“标准”或好的方式来进行这种动态配置?
【问题讨论】:
标签: jenkins kubernetes jenkins-pipeline