Первый вопрос: «Кто-нибудь знает, что я делаю неправильно ниже?». Второй вопрос: `` Если нет, есть ли способ перечислить файлы в какой-то команде, которую я поместил в Dockerfile в надежде отладить больше, и, возможно, также сделать pwd в Dockerfile (пытаясь увидеть, что отличается в каждой среде ''
Шаг 1. git checkout master, git pull
Step 2. Запустите "gcloud builds submit --config cloudbuild.yaml"
Step 3. настройка триггера сборки google с использованием «того же точного» cloudbuild.yaml из репозитория
Шаг 4. «Триггеры сборки gcloud запускают default-pu sh -trigger-1 --branch master»
Шаг 2 завершается успешно и правильно запускает точку входа образа Docker. На шаге 4 возникает ошибка
/bin/sh: ./downloadAndExtract.sh: not found
ERROR
ERROR: build step 0 "gcr.io/orderly-gcp/continuous-deploy" failed: step exited with non-zero status: 127
Мой файл Dockerfile очень простой
ОТ gcr.io/google. com / cloudsdktool / cloud-sdk: alpine
RUN mkdir -p ./monobuild
COPY . ./monobuild/
WORKDIR "/monobuild"
ENTRYPOINT ./downloadAndExtract.sh
Мой файл cloudbuild.yaml еще проще
steps:
- name: gcr.io/$PROJECT_ID/continuous-deploy
Есть ли какие-то проблемы с окружающей средой или что-то в этом роде?
Я запускаю цикл docker build / pu sh в каталоге с этими файлами
- Dockerfile
- cloudbuild.yaml
- deployDockerImage. sh
- downloadAndExtract. sh
- runCILocallyToTest. sh
- triggerGoogleRemoteBuild. sh
КОНЕЧНО, в этом каталоге нужны ТОЛЬКО два файла: Dockerfile и downloadAndExtract. sh, поэтому мне, вероятно, следует изменить свой docker файл, чтобы просто скопировать downloadAndExtract. В любом случае, это не главное. Почему у меня не работают триггеры сборки Google?
РЕДАКТИРОВАТЬ: У меня только что прозрение. Поместите ls в качестве точки входа. Это доказало, что триггер asyn c повреждает мой образ сборки содержимым моно-репо и уничтожает все, что я настроил. Почему это? Почему они заставили синхронизацию c запускать сборку иначе, чем встроенный триггер?