процесс сборки в действиях github завершен с кодом выхода 2

#github-actions

Вопрос:

Когда я пытался запустить действие git для создания образа docker, возникла следующая ошибка. Есть какие-нибудь догадки о том, что пошло не так? Спасибо!

Вот рабочий процесс yaml:

 name: Python application

on:
  push:
    paths:
    - 'python/*'
      
jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Set up Python 3.7
      uses: actions/setup-python@v1
      with:
        python-version: 3.7
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r ./python/requirements.txt
    - name: Build amp; Push Image
      run: |
        cd ./python
        echo "${{ secrets.DOCKERPW }}" | docker login -u "[your dockerhub login here]" --password-stdin
        docker image build -t [your dockerhub username here]/gitops:hellov1.0 .
        docker push [your docker hub username here]/gitops:hellov1.0
 

сообщение об ошибке в журнале:

 Run cd ./python
cd ./python
echo *** | docker login -u xsqian --password-stdin
docker image build -t xsqian/gitops:hellov1.0 .
docker push xsqian/gitops:hellov1.0
shell: /usr/bin/bash -e {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.7.11/x64
/home/runner/work/_temp/30d82465-db58-4fc4-8139-ed8d8f5762d6.sh: line 2: unexpected EOF while looking for matching `"'
Error: Process completed with exit code 2.
 

Комментарии:

1. Я бы сначала предложил использовать actions/checkout@v2.3.4 (многое изменилось с версии 1). Что касается ошибки, то, похоже, она связана " со второй строкой вашего последнего шага. Вы заменили переменную входа в систему dockerhub, сохраняя их?

2. Ошибка связана с вашей Build amp; Push Image задачей, потому что ваш пользователь и пароль docker могут иметь какой-то специальный символ и из-за этого некоторые дополнительные " в bash/sh. Используйте этот пример для сборки docker и перейдите в любой реестр docker. при этом вам не нужно иметь дело с каким-либо способом сборки и нажатия из командной строки, и вам не нужно беспокоиться о каких-либо специальных символах в вашем имени пользователя и пароле.

3. @SamitKumarPatel на самом деле я обнаружил, что в моем пароле docker hub есть специальный символ», который вызвал проблему. Спасибо за пример.

4. Вы должны добавить официальный ответ на свой вопрос xsqian, как только вы нашли решение 🙂