尚未设置GitLab-CI Kubernetes变量吗? [英] GitLab-CI Kubernetes Variables aren't set?
问题描述
我正在尝试在GitLab上使用Kubernetes设置自动部署.我已经在项目设置中成功启用了Kubernetes集成.
I'm trying to setup auto deploy with Kubernetes on GitLab. I've successfully enabled Kubernetes integration in my project settings.
好吧,集成图标为绿色,当我单击测试设置"时,看到我们已将请求发送到所提供的URL":
Well, the integration icon is green and when I click "Test Settings" I see "We sent a request to the provided URL":
我的部署环境是Google容器引擎.
My deployment environment is the Google Container Engine.
这是我的gitlab-ci.yml
配置中的自动部署"部分:
Here's the auto deploy section in my gitlab-ci.yml
config:
deploy:
image: registry.gitlab.com/gitlab-examples/kubernetes-deploy
stage: deploy
script:
- export
- echo CI_PROJECT_ID=$CI_PROJECT_ID
- echo KUBE_URL=$KUBE_URL
- echo KUBE_CA_PEM_FILE=$KUBE_CA_PEM_FILE
- echo KUBE_TOKEN=$KUBE_TOKEN
- echo KUBE_NAMESPACE=$KUBE_NAMESPACE
- kubectl config set-cluster "$CI_PROJECT_ID" --server="$KUBE_URL" --certificate-authority="$KUBE_CA_PEM_FILE"
- kubectl config set-credentials "$CI_PROJECT_ID" --token="$KUBE_TOKEN"
- kubectl config set-context "$CI_PROJECT_ID" --cluster="$CI_PROJECT_ID" --user="$CI_PROJECT_ID" --namespace="$KUBE_NAMESPACE"
- kubectl config use-context "$CI_PROJECT_ID"
当我查看结果时,部署阶段失败.这是因为所有KUBE
变量都是空的.
When I look at the results, the deploy phase fails. This is because all the KUBE
variables are empty.
在这一点上,我对Kubernetes服务的运气并不好.我想念什么吗?
I'm not having much luck with the Kubernetes services beyond this point. Am I missing something?
推荐答案
事实证明,除非您配置并引用了环境,否则部署变量将不会实现.
As it turns out, the Deployment Variables will not materialise unless you have configured and referenced an Environment.
这是使用environment
关键字的.gitlab-ci.yaml
文件的外观:
Here's what the .gitlab-ci.yaml
file looks like with the environment
keyword:
deploy:
image: registry.gitlab.com/gitlab-examples/kubernetes-deploy
stage: deploy
environment: production
script:
- export
- echo CI_PROJECT_ID=$CI_PROJECT_ID
- echo KUBE_URL=$KUBE_URL
- echo KUBE_CA_PEM_FILE=$KUBE_CA_PEM_FILE
- echo KUBE_TOKEN=$KUBE_TOKEN
- echo KUBE_NAMESPACE=$KUBE_NAMESPACE
- kubectl config set-cluster "$CI_PROJECT_ID" --server="$KUBE_URL" --certificate-authority="$KUBE_CA_PEM_FILE"
- kubectl config set-credentials "$CI_PROJECT_ID" --token="$KUBE_TOKEN"
- kubectl config set-context "$CI_PROJECT_ID" --cluster="$CI_PROJECT_ID" --user="$CI_PROJECT_ID" --namespace="$KUBE_NAMESPACE"
- kubectl config use-context "$CI_PROJECT_ID"
这篇关于尚未设置GitLab-CI Kubernetes变量吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!