кодирование застряло, используя старое изображение кода / google-cloud-deploy - PullRequest
0 голосов
/ 08 октября 2018

Я обновлял один из наших проектов, который построен и развернут с использованием CodeShip Pro.Мы используем codeship/google-cloud-deployment docker image для развертывания облачных функций Google.Мне нужны функции, которые доступны только в последней версии SDK gcloud, но кодировщик всегда использует старую версию SDK и, похоже, застрял при извлечении кэшированной версии образа .

кодировщик.services.yml

googlecloudproductiondeployment:
  image: codeship/google-cloud-deployment
  encrypted_env_file: deploy/deploy-production.env.encrypted
  cached: false
  volumes:
    - ./:/deploy

codeship-steps.yml

- name: Deploy CF to prod
  tag: ^deploy-production$
  service: googlecloudproductiondeployment
  command: /deploy/deploy/google-deploy-cf.sh

deploy / google-deploy-cf.sh

#!/bin/bash

set -e

PROJECT=my-project
FUNCTION_NAME=my-function
SOURCE_REPO=my-repo

# Authenticate on google SDK
codeship_google authenticate

# Re-deploy the CF
gcloud version
gcloud beta functions deploy $FUNCTION_NAME --region europe-west1 --runtime nodejs8 --env-vars-file /deploy/deploy/cf-env.production.yaml --trigger-http --source https://source.developers.google.com/projects/my-project/repos/${PROJECT}/fixed-aliases/${CI_BRANCH} --memory 128MB --entry-point run --timeout 540s

Вывод, наблюдаемый в кодировке:

googlecloudproductiondeployment build/pull started
googlecloudproductiondeployment build/pull finished successfully
googlecloudproductiondeployment Activated service account credentials for: [***@***.iam.gserviceaccount.com]
googlecloudproductiondeployment Google Cloud SDK 204.0.0
googlecloudproductiondeployment alpha 2017.09.15
googlecloudproductiondeployment beta 2017.09.15
googlecloudproductiondeployment bq 2.0.34
googlecloudproductiondeployment core 2018.06.04
googlecloudproductiondeployment gsutil 4.31
googlecloudproductiondeployment kubectl 
googlecloudproductiondeployment deployng
googlecloudproductiondeployment ERROR: (gcloud.beta.functions.deploy) unrecognized arguments: 2018-10-08 07:42:29 googlecloudproductiondeployment  --runtime (did you mean '--timeout'?)
googlecloudproductiondeployment  nodejs8
googlecloudproductiondeployment  --env-vars-file
googlecloudproductiondeployment  /deploy/deploy/cf-env.production.yaml

Ожидаемый результат:

Я ожидаю увидеть Google Cloud SDK 218.0.0, версию, отмеченную в последнем коммите в github-репозитории googleub-развертывания для gpsub-хранилища .

Выполнены шаги:

  1. Добавление :latest к изображению в codeship-services.yml.
  2. Нажатие на Reset Cache на странице проекта на CodeShip.
    • Даже после сброса кэша, я всегда вижу Image exists, using cached image в журналах для моей службы googlecloudproductiondeployment по кодированию.
  3. Используя джет локально, я могу предвидеть кодированиевытащить последнюю версию, запустив docker rmi codeship/google-cloud-deployment перед реактивными шагами.Тем не менее, я не контролирую кэш докера при кодировании.

Кажется, кодирование застряло при использовании старой версии codeship/google-cloud-deployment образа.На докер-хабе это изображение не имеет никаких тегов, кроме latest, поэтому я не знаю, как заставить кодхост получить конкретную версию.Пожалуйста, помогите!

1 Ответ

0 голосов
/ 12 октября 2018

Извиняюсь за неприятности.

Мы сделали все возможное, чтобы версии codeship/google-cloud-deployment оставались актуальными.

В целом мы будем следить за самой последней версией Google Cloud SDK.на две-три недели.Но это будет поддерживать гораздо более близкий паритет к последним версиям.Мы также можем ускорить обновления Google Cloud SDK сейчас по мере необходимости.

Если вы сбросите кэш проекта и перезапустите сборку, вы заметите (на момент написания этой статьи), что Google Cloud SDK теперь настроен наверсия 219.0.1 для изображения codeship/google-cloud-deployment.

...