尚未设置GitLab-CI Kubernetes变量吗? [英] GitLab-CI Kubernetes Variables aren't set?

查看:83
本文介绍了尚未设置GitLab-CI Kubernetes变量吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆