GitLab-CI Kubernetes变量没有设置?

Mit*_*ins 4 gitlab-ci kubernetes

我正在尝试在GitLab上使用Kubernetes设置自动部署.我在项目设置中成功启用了Kubernetes集成.

那么,集成图标是绿色的,当我点击"测试设置"时,我看到"我们向提供的URL发送了一个请求":

Kubernetes整合

我的部署环境是Google容器引擎.

这是我的gitlab-ci.yml配置中的自动部署部分:

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"
Run Code Online (Sandbox Code Playgroud)

当我查看结果时,部署阶段失败.这是因为所有KUBE变量都是空的.

除此之外,我对Kubernetes服务没有太多好运.我错过了什么吗?

Mit*_*ins 21

事实证明,除非您配置并引用了环境,否则部署变量将不会实现.

以下是.gitlab-ci.yaml使用environment关键字查看文件的内容:

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"
Run Code Online (Sandbox Code Playgroud)