Запуск образа Docker через действия SSH Github

#github #yaml #github-actions

Вопрос:

поэтому в настоящее время я пытаюсь подключить GitHub Actions/CI SSH к своему VPS и запустить образ docker. Хотя основная проблема заключается в том, что задание не завершается после выполнения последней команды.

Это мой файл YML:

 name: SSH amp; Deploy Image
on:
  workflow_run:
    workflows: ["Timmy Docker Build"]
    branches: [ main ]
    types:
      - completed

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
    - name: Run Docker CMD
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        password: ${{ secrets.PASSWORD }}
        port: ${{ secrets.PORT }}
        script: |
          docker stop ss-timmy amp;amp; docker rm ss-timmy
          docker pull spaceturtle0/ss-timmy:latest
          docker run --env-file=Timmy-SchoolSimplified/.env  spaceturtle0/ss-timmy amp;
 

Независимо от того, что вы поставили amp; знак в последней команде сценария, процесс просто зависает до тех пор, пока процесс не будет завершен. Есть ли что-нибудь, чтобы это исправить?

Ответ №1:

Вы должны использовать -d флаг, который означает detached вместо amp; этого подпись для последней команды docker. Так что полное командование будет:

 docker run -d --env-file=Timmy-SchoolSimplified/.env  spaceturtle0/ss-timmy