#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, как только вы нашли решение 🙂