Частное репо со сборкой докеров - PullRequest
0 голосов
/ 10 мая 2018

Мое приложение использует как открытые, так и частные сторонние зависимости github, Я пытаюсь построить свое приложение в Docker-контейнере с помощью endly (https://github.com/viant/endly),

Когда я запускаю endly -r = app, я вижу следующую проблему: Клонирование в /tmp/go/src/github.com/xxxx/private_repo ... удаленный: Неверное имя пользователя или пароль.

Как указать личные учетные данные репо, из соображений безопасности я не хочу нигде жестко кодировать необработанные учетные данные.

app.yaml

defaults:
 version: 1.1
  app: myapp
  sdk: go:1.9
pipeline:
  build:
    workflow: app/docker/build
    origin:
      URL: ./../
      credentials: localhost
    buildPath: /tmp/go/src/github.com/myapp
    commands:
      - export GOPATH=/tmp/go
      - cd $buildPath/myapp
      - go get -u .
      - export CGO_ENABLED=0
      - go build -o $app
      - chmod +x $app
    download:
      /$buildPath/${app}: $releasePath

1 Ответ

0 голосов
/ 14 мая 2018

Окончательно использует зашифрованные учетные данные для работы с секретами, а также запутывает записи в stdout и журналах.

В вашей сборке частная аутентификация происходит после того, как вы получите -u., Поэтому убедитесь, что вы добавили следующее:

  1. export GIT_TERMINAL_PROMPT = 1 для запроса аутентификации на терминале
  2. добавить секретные узлы с ключом i.e github и ссылочной записью в ~ / .secret /
  3. добавить дополнительный ввод учетных данных терминала:

    • $ выход: / Имя пользователя /? $ {Github.username}
    • $ выход: / Password /? $ {Github.password}

@app.yaml

defaults:
version: 1.1
  app: myapp
  sdk: go:1.9
pipeline:
  build:
    workflow: app/docker/build
    origin:
      URL: ./../
      credentials: localhost
    buildPath: /tmp/go/src/github.com/myapp
    secrets:
      github: git #loads ~/.secet/git.json with encrypted credentials.
    commands:
      - export GOPATH=/tmp/go
      - cd $buildPath/myapp
      - export GIT_TERMINAL_PROMPT=1
      - go get -u .
      - $output:/Username/? ${github.username}
      - $output:/Password/? ${github.password}
      - export CGO_ENABLED=0
      - go build -o $app
      - chmod +x $app
    download:
      /$buildPath/${app}: $releasePath

Используйте следующее, чтобы узнать больше о секрете

...