GitHub Action - Ошибка при запуске команды kubernetes set image - PullRequest
0 голосов
/ 23 января 2020

У меня есть этот скрипт для разработки конвейера CI / CD с использованием действия GitHub. Поток конвейера подобен GitHub -> Docker Hub -> IBM Cloud Kubernetes. Я сталкиваюсь с этой проблемой в течение 2-3 дней, когда запускаю команду kubernetes set image. Перепробовал много вещей, но не повезло. И я новичок в этом GitHub Actions и Kubernetes. Мой скрипт;

on:
  push:
    branches:
      - master
jobs:

  build:

    runs-on: ubuntu-latest

    steps:

    - uses: actions/checkout@v2

    - name: Login to DockerHub
      run:  echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin

    - name: Check docker login status
      if: failure()
      run: echo Docker login process failed. Please check the GitHub secrets and your credentials.

      #    - name: Build the Docker image
      #      run:  docker build -t ${{ secrets.DOCKER_REPO }}:${GITHUB_SHA::8} .

      #    - name: Publish to Docker Hub
      #      run:  docker push ${{ secrets.DOCKER_USERNAME }}/nodedemoapp:${GITHUB_SHA::8}

    - name: Install IBM Cloud CLI
      run:  curl -sL https://ibm.biz/idt-installer | bash

    - name: Login to IBM Cloud
      run:  ibmcloud login -u ${{ secrets.IBMCLOUD_USER }} -p ${{ secrets.IBMCLOUD_PWD }} -r au-syd

    - name: Check IBM Cloud login status
      if: failure()
      run: echo IBM Cloud login process failed. Please check the GitHub secrets and your credentials.

    - name: Select Cloud Cluster
      run:  ibmcloud cs cluster-config <cluster-name>

    - name: Deploy to Cluster / Set Docker Image tag
      uses: steebchen/kubectl@master
      env:
              KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
              DOCKER_REPO: ${{ secrets.DOCKER_REPO }}
      with:
              args: set image --record deployment/demo-nodeapp nodeapp=$DOCKER_REPO:dd317a15

              #    - name: Verify Deployment
              #      uses: steebchen/kubectl@master
              #      env:
              #              KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
              #              DEPLOYMENT_NAME: ${{ secrets.DEPLOYMENT_NAME }}
              #      with:
              #              args: '"rollout status deployment/$DEPLOYMENT_NAME"'

И при его выполнении я сталкиваюсь с этой ошибкой;

Deploy to Cluster / Set Docker Image tag1s

Run steebchen/kubectl@master
/usr/bin/docker run --name dfb4c0a53d7da9d4a0da4645e42a044b525_8e2c1f --label 488dfb --workdir /github/workspace --rm -e KUBE_CONFIG_DATA -e DOCKER_REPO -e INPUT_ARGS -e HOME -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/nodeApp/nodeApp":"/github/workspace" 488dfb:4c0a53d7da9d4a0da4645e42a044b525 set image --record deployment/*** ***=$DOCKER_REPO:dd317a15
error: unable to read certificate-authority /tmp/ca-syd01-launchpad.pem for launchpad/bl7ncphs04difh8d6be0 due to open /tmp/ca-syd01-launchpad.pem: no such file or directory
##[error]Docker run failed with exit code 1

Ошибка в действии GitHub

Заранее спасибо.

1 Ответ

1 голос
/ 23 января 2020

Я думаю, вам нужно проверить вывод ibmcloud cs cluster-config <cluster-name>, чтобы убедиться, что он получает то, что вы хотите. Если вы не установите IKS_BETA_VERSION=1 env var перед запуском получения конфигурации кластера, вы получите kubeconfig и данные сертификата, загруженные на локальный компьютер по адресу $ HOME / .bluemix / plugins / container-service / clusters /. Если вы используете IKS_BETA_VERSION=1 env var, то вы получите информацию о контексте / кластере / аутентификации в расположении по умолчанию kubeconfig в $ HOME / .kube / config

...