name: Create Docker Image on: push: branches: [ "main" ] # Запускать при пуше в main pull_request: branches: [ "main" ] # Запускать при pull-request'ах в main jobs: build-and-push: runs-on: ubuntu-latest steps: # Шаг 1: Клонируем репозиторий - name: Check out code uses: actions/checkout@v4 # Шаг 2: Логинимся в Docker Hub - name: Login to Docker Hub uses: docker/login-action@v2 with: registry: docker.io username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} # Шаг 3: Сборка и пуш Docker-образа - name: Build and push Docker image uses: docker/build-push-action@v4 with: context: . file: Dockerfile # Если Dockerfile в другом месте, поменяйте путь push: true # Говорим, что нужно пушить образ tags: ${{ secrets.DOCKERHUB_USERNAME }}/my-image-name:latest # Можно указать несколько тэгов (например, с Git SHA или датой): # tags: | # ${{ secrets.DOCKERHUB_USERNAME }}/my-image-name:latest # ${{ secrets.DOCKERHUB_USERNAME }}/my-image-name:${{ github.sha }}