我在docker中有多个阶段。我同时使用滚动更新和部署。当前,如果未部署任何内容,则必须手动进行部署,每次更新时,滚动更新将自行运行。
我想使一切自动化。我想写一些条件检查 现有复制控制器,然后运行滚动更新,否则运行部署。我试图在部署或部署更新中都将if语句放入脚本中。
- >
if rancher --debug kubectl rollout status deployment $CI_PROJECT_NAME; then
exit 0
fi
不幸的是我得到了错误:
错误:作业失败(系统故障):机密 禁止“ runner-yx1bv22m-project-122-concurrent-0vrbdb”:已超出 配额:default-467s2,已请求:secrets = 1,已使用:secrets = 20,受限: secrets = 20
据我了解,我无法同时运行两个作业。 根据当前部署状态,哪种方法可以实现部署或滚动更新?
答案 0 :(得分:0)
基本上,我放弃了第二份工作。我现在可以完成所有工作。
script:
other scripts
- CHECK_DEPLOYMENT=$(rancher --debug kubectl --insecure-skip-tls-verify get deployments -n $CI_PROJECT_NAME-$CI_COMMIT_REF_SLUG | grep $CI_PROJECT_NAME | awk '{print $1}')
- >
if [ "$CHECK_DEPLOYMENT" == "$CI_PROJECT_NAME" ]; then
do rollup script
else
do deploy script
fi
部署或汇总都是通过添加单个if语句完成的。根据部署情况,它会汇总还是部署。