С помощью Docker Cloud Builder Я могу указать точку входа для bash
или sh
, например, так:
cloudbuild.yaml
steps:
- name: 'gcr.io/cloud-builders/docker'
id: BuildDockerImages
entrypoint: /bin/sh
args:
- '-c'
- |
set -x && \
./build_and_push_images.sh
env:
- 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
- 'CLOUDSDK_CONTAINER_CLUSTER=standard-cluster-1'
Но какую бы программу оболочки (bash
или sh
) я ни указывал в entrypoint
в kubectl cloud Builder , я получаю следующую ошибку в cloudbuild:
Step #2 - "UpdateImages": docker: Error response from daemon: OCI
runtime create failed: container_linux.go:348: starting container
process caused "exec: \"sh - '-c' - | set -x && \\\\ echo hi\":
executable file not found in $PATH": unknown.
Это конфигурация:
cloudbuild.yaml
- name: 'gcr.io/cloud-builders/kubectl'
id: UpdateImages
entrypoint: sh # or bash, /bin/sh, /bin/bash
- '-c'
- |
set -x && \
./devops/update_k8s_deployment.sh
env:
- 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
- 'CLOUDSDK_CONTAINER_CLUSTER=standard-cluster-1'
Я что-то упустил? Почему я не могу указать точку входа? Нужно ли мне каждый раз использовать другой компоновщик и устанавливать kubectl?