Ziehen Sie mithilfe von GitHub-Aktionen automatisch aus der Ferne

Lesezeit: 1 Minute

Benutzer-Avatar
Faktor

Ich habe ein privates Repository auf GitHub und mein Ziel ist es, dass bei jedem neuen Commit das Repository auf dem VPS aktualisiert wird.

Ich verwende derzeit eine SSH-Aktion, um mich beim Server anzumelden, das Repository zu suchen und vom Ursprung abzurufen

Das Problem dabei ist, dass das Repository privat ist und eine Authentifizierung erfordert. Ich habe versucht, meinen Benutzernamen und mein Passwort in der globalen Git-Konfiguration festzulegen, aber selbst danach ist immer noch eine Authentifizierung erforderlich.

Habe die Lösung selbst herausgefunden. Das Problem mit den verschiedenen Dingen, die ich tat, war wie folgt. Ich habe versucht, etwas in der Art von zu tun git pull https://${{ secrets.TOKEN }}@github.com/repo

Die Lösung bestand darin, den gesamten Befehl zu setzen git pull https://[email protected]/repo als Geheimnis und dann das Skript ausführen: ${{ secrets.SCRIPT }} über SSH.

Meine Aktion am Ende:

name: Remote SSH
on: [push]
jobs:

  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
    - name: executing remote ssh commands using password
      uses: appleboy/[email protected]
      with:
        host: ${{ secrets.IP }}
        username: ${{ secrets.USER }}
        password: ${{ secrets.PRIVATE_KEY }}
        port: ${{ secrets.PORT }}
        script: |
          cd Repository
          ${{ secrets.SCRIPT}}
          pm2 restart 0

Laut dem Dokument können Sie env so verwenden

  - name: pass environment
    uses: appleboy/[email protected]
    env:
      FOO: "BAR"
      BAR: "FOO"
      SHA: ${{ github.sha }}
    with:
      host: ${{ secrets.HOST }}
      username: ${{ secrets.USERNAME }}
      key: ${{ secrets.KEY }}
      port: ${{ secrets.PORT }}
      envs: FOO,BAR
      script: |
        echo "I am $FOO"
        echo "I am $BAR"
        echo "sha: $SHA"

  • Kannst du den Link zum Dokument setzen?

    – AG

    19. Mai 2021 um 4:04 Uhr

Benutzer-Avatar
Diego

Oh toll, deine eigene Lösung hat mein Problem behoben!

Ich habe nur den Befehl geändert, der den gewünschten Zweig gesetzt hat, weil er den Zweig nicht gut aktualisiert hat, also ist meine eigene Lösung:

git pull https://${{secrets.PAT}}@github.com/repo.git branch_name

1011200cookie-checkZiehen Sie mithilfe von GitHub-Aktionen automatisch aus der Ferne

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy