Обновлен файл docker-build-local.yml для использования переменных окружения напрямую в скрипте генерации тегов. Удалена переменная REGISTRY из секции env, что упрощает код и улучшает читаемость. Также обновлено отображение информации о реестре в сводке сборки. Эти изменения повышают удобство и поддерживаемость CI/CD процесса.

This commit is contained in:
Vlad 2025-06-07 08:45:09 +03:00
parent ef11a4613a
commit 278986b6e0
2 changed files with 25 additions and 7 deletions

View File

@ -19,7 +19,6 @@ on:
default: 'latest' default: 'latest'
env: env:
REGISTRY: ${{ secrets.DOCKER_REGISTRY_URL }}
IMAGE_NAME: salvagedb/salvagedb-bot IMAGE_NAME: salvagedb/salvagedb-bot
jobs: jobs:
@ -44,19 +43,22 @@ jobs:
- name: Generate tags - name: Generate tags
id: tags id: tags
run: | run: |
REGISTRY="${{ secrets.DOCKER_REGISTRY_URL }}"
IMAGE_NAME="${{ env.IMAGE_NAME }}"
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT echo "tags=${REGISTRY}/${IMAGE_NAME}:${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT
elif [[ "${{ github.event_name }}" == "pull_request" ]]; then elif [[ "${{ github.event_name }}" == "pull_request" ]]; then
pr_number=${{ github.event.number }} pr_number=${{ github.event.number }}
echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:pr-${pr_number}" >> $GITHUB_OUTPUT echo "tags=${REGISTRY}/${IMAGE_NAME}:pr-${pr_number}" >> $GITHUB_OUTPUT
elif [[ "${{ github.ref_type }}" == "tag" ]]; then elif [[ "${{ github.ref_type }}" == "tag" ]]; then
tag=${GITHUB_REF#refs/tags/} tag=${GITHUB_REF#refs/tags/}
echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${tag},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" >> $GITHUB_OUTPUT echo "tags=${REGISTRY}/${IMAGE_NAME}:${tag},${REGISTRY}/${IMAGE_NAME}:latest" >> $GITHUB_OUTPUT
elif [[ "${{ github.ref_name }}" == "main" ]]; then elif [[ "${{ github.ref_name }}" == "main" ]]; then
echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:main" >> $GITHUB_OUTPUT echo "tags=${REGISTRY}/${IMAGE_NAME}:latest,${REGISTRY}/${IMAGE_NAME}:main" >> $GITHUB_OUTPUT
else else
branch_name=$(echo "${{ github.ref_name }}" | sed 's/[^a-zA-Z0-9]/-/g') branch_name=$(echo "${{ github.ref_name }}" | sed 's/[^a-zA-Z0-9]/-/g')
echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${branch_name}" >> $GITHUB_OUTPUT echo "tags=${REGISTRY}/${IMAGE_NAME}:${branch_name}" >> $GITHUB_OUTPUT
fi fi
- name: Build and push Docker image - name: Build and push Docker image
@ -78,7 +80,7 @@ jobs:
run: | run: |
echo "## Docker Build Summary" >> $GITHUB_STEP_SUMMARY echo "## Docker Build Summary" >> $GITHUB_STEP_SUMMARY
echo "- **Event:** ${{ github.event_name }}" >> $GITHUB_STEP_SUMMARY echo "- **Event:** ${{ github.event_name }}" >> $GITHUB_STEP_SUMMARY
echo "- **Registry:** ${{ env.REGISTRY }}" >> $GITHUB_STEP_SUMMARY echo "- **Registry:** ${{ secrets.DOCKER_REGISTRY_URL }}" >> $GITHUB_STEP_SUMMARY
echo "- **Image:** ${{ env.IMAGE_NAME }}" >> $GITHUB_STEP_SUMMARY echo "- **Image:** ${{ env.IMAGE_NAME }}" >> $GITHUB_STEP_SUMMARY
echo "- **Tags:** ${{ steps.tags.outputs.tags }}" >> $GITHUB_STEP_SUMMARY echo "- **Tags:** ${{ steps.tags.outputs.tags }}" >> $GITHUB_STEP_SUMMARY
echo "- **Commit:** ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY echo "- **Commit:** ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY

16
TEST_DOCKER_FIX.md Normal file
View File

@ -0,0 +1,16 @@
# Тестирование исправления Docker тегов
## Исправленная проблема:
- ❌ Ошибка: `ERROR: invalid tag "***/salvagedb/salvagedb-bot:latest": invalid reference format`
- ✅ Решение: Прямое использование secrets в bash переменных вместо env
## Изменения:
1. Удалена проблематичная env переменная `REGISTRY`
2. Теги формируются напрямую в bash скрипте
3. Secrets используются непосредственно без промежуточных env
## Дата тестирования:
2025-06-07 (исправление тегов)
---
Удалить после успешного тестирования workflow.