Преобразование UTF-16LE в UTF-8 gitlab ci - PullRequest
1 голос
/ 17 января 2020

Я работаю над автоматическим развертыванием в облаке Google с помощью сервиса gitlab ci json ключ для аутентификации. Я застрял при использовании команды echo для создания нового json файла в формате UTF-16LE, но для аутентификации требуется UTF-8 без спецификации.

.gitlab-ci.yml

image: google/cloud-sdk:alpine

deploy_in_appengine:
  stage: deploy
  tags:
    - gcloud
  environment:
    name: production
  only:
    - golang-api-gitlab-deploy
  script:
    - echo $SERVICE_ACCOUNT > /tmp/gcloud-key.json
    - gcloud auth activate-service-account --key-file /tmp/gcloud-key.json
    - gcloud app deploy

after_script:
  - rm -f /tmp/gcloud-key.json

1 Ответ

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

Технически вы можете изменить кодировку, используемую сеансом оболочки внутри изображения , как показано здесь . Однако, вероятно, проще и эффективнее использовать iconv .

Ваше эхо-выражение будет выглядеть примерно так:

echo "$SERVICE_ACCOUNT" | iconv --from-code=utf-16le --to-code=utf-8 --output=/tmp/gcloud-key.json
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...