警告:意外输入 ...,有效输入是 GitHub 操作中的 [...](答案正文中的全文)

Warning: Unexpected input(s) ..., valid inputs are [...] in GitHub Actions (full text in the answer body)

在 github 操作后 运行ning 我收到了这个警告:

Unexpected input(s) 'stack_file_name', valid inputs are ['entryPoint', 'args', 'host', 'port', 'passphrase', 'username', 'password', 'sync', 'use_insecure_cipher', 'cipher', 'timeout', 'command_timeout', 'key', 'key_path', 'fingerprint', 'proxy_host', 'proxy_port', 'proxy_username', 'proxy_password', 'proxy_passphrase', 'proxy_timeout', 'proxy_key', 'proxy_key_path', 'proxy_fingerprint', 'proxy_cipher', 'proxy_use_insecure_cipher', 'script', 'script_stop', 'envs', 'debug']

来自main.yml:

runs-on: ubuntu-latest
needs: build_and_push_to_docker_hub
steps:
  - name: executing remote ssh commands to deploy
    uses: appleboy/ssh-action@master
    with:
      host: ${{ secrets.HOST }}
      username: ${{ secrets.USER }}
      key: ${{ secrets.SSH_KEY }}
      passphrase: ${{ secrets.PASSPHRASE }}
      stack_file_name: docker-compose.yaml
      script: |
        sudo docker pull ${{ secrets.DOCKER_USERNAME }}/foodgram
        sudo docker-compose stop
        sudo docker-compose rm web
        touch .env
        echo DB_ENGINE=${{ secrets.DB_ENGINE }} >> .env
        echo DB_NAME=${{ secrets.DB_NAME }} >> .env
        echo POSTGRES_USER=${{ secrets.POSTGRES_USER }} >> .env
        echo POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }} >> .env
        echo DB_HOST=${{ secrets.DB_HOST }} >> .env
        echo EMAIL_HOST=${{ secrets.EMAIL_HOST }} >> .env
        echo EMAIL_HOST_USER=${{ secrets.EMAIL_HOST_USER }} >> .env
        echo EMAIL_HOST_PASSWORD=${{ secrets.EMAIL_HOST_PASSWORD }} >> .env
        echo EMAIL_PORT=${{ secrets.EMAIL_PORT }} >> .env
        sudo docker-compose up -d
        sudo docker-compose exec -T web python3 manage.py makemigrations users --no-input
        sudo docker-compose exec -T web python3 manage.py makemigrations recipes --no-input
        sudo docker-compose exec -T web python3 manage.py migrate --no-input
        sudo docker-compose exec -T web python3 manage.py collectstatic --no-input
        sudo docker-compose restart
        sudo docker-compose exec -T web python manage.py loaddata -e=auth -e=contenttypes fixtures.json

工作流 运行 失败。

什么是 stack_file_name?

如何修复此警告?

这是因为您在共享的工作流实施中将 stack_file_name: docker-compose.yaml 作为操作输入通知。但是,由于您可以从 appleboy/ssh-action 操作中签入 action.yml file,因此没有使用该名称的输入。

你应该使用:

runs-on: ubuntu-latest
needs: build_and_push_to_docker_hub
steps:
  - name: executing remote ssh commands to deploy
    uses: appleboy/ssh-action@master
    with:
      host: ${{ secrets.HOST }}
      username: ${{ secrets.USER }}
      key: ${{ secrets.SSH_KEY }}
      passphrase: ${{ secrets.PASSPHRASE }}
      script: |
        ...

只需删除不必要的输入即可解决您的问题。