Действия Github и клонирование git - PullRequest
1 голос
/ 14 февраля 2020

Возникают некоторые проблемы с использованием клона git из Github Actions, я получаю следующее, независимо от того, что пытаюсь:

Код, который не работает в моем main.yml:

jobs:
 terraform:
   name: 'Terraform with Github Actions!'
   runs-on: ubuntu-latest
   steps:
   - name: 'Login to Azure'
    uses: azure/login@v1
    with:
      creds: ${{ secrets.AZURE_CREDENTIALS }}
  - name: 'Checkout'
    uses: actions/checkout@master
  - name: 'Preparing blueprint-environment'
    run: |
      snip
      git clone git@github.com:ourcompany/whateverrepo.git

Сообщение об ошибке:

git@github.com: В доступе отказано (publickey).

Я видел много сообщений о добавлении ключей s sh, но это локально, а не в выпуске Ubuntu. бег от действий Github - что мне здесь не хватает? Я не могу сгенерировать s sh -ключи и добавить закрытый ключ на лету в настройки репозитория Github, как я могу это исправить?

1 Ответ

0 голосов
/ 14 февраля 2020

Если вам нужно оформить заказ в двух хранилищах, я бы рекомендовал снова использовать checkout для указания относительного пути. См. Документацию к Оформление нескольких репо рядом . Возможно, вам потребуется использовать repo маркер личного доступа * (PAT)

  - name: 'Checkout'
    uses: actions/checkout@v2
  - name: 'Preparing blueprint-environment'
    uses: actions/checkout@v2
    with:
      token: ${{ secrets.PAT }}
      repository: ourcompany/whateverrepo
      path: whateverrepo

Если это действительно необходимо, Ключи развертывания можно использовать для клонирования хранилище через S SH.

  1. Создайте новую пару ключей S SH для своего хранилища. Не устанавливайте фразу-пароль.
  2. Скопируйте содержимое ключа publi c (файл .pub) в новый репозиторий ключ развертывания и установите флажок «Разрешить доступ для записи».
  3. Добавьте в хранилище секрет, содержащий все содержимое закрытого ключа.
  4. Как показано в примере ниже, настройте actions/checkout для использования ключа развертывания, который вы создали.
    steps:
      - uses: actions/checkout@v2
        with:
          ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
...