Загрузка папки из облачного хранилища в действии GitHub и перемещение ее внутри докер-контейнера не работает

Моя акция на GitHub

name: Deploy

on:
  workflow_dispatch:

jobs:
  deploy: 
    runs-on: ubuntu-latest
    environment: default
    permissions:
      contents: 'read'
      id-token: 'write'
    steps:
    - name: Checkout
      uses: actions/checkout@v3

    - name: Setup Node
      uses: actions/setup-node@v3
      with:
        node-version: 16

    - id: auth
      name: "Auth"
      uses: 'google-github-actions/auth@v2'
      with:
        token_format: access_token
        workload_identity_provider: ${{ secrets.WIF_PROVIDER }}
        service_account: ${{ secrets.SA_EMAIL }}

    - name: 'Set up Cloud SDK'
      uses: 'google-github-actions/setup-gcloud@v2'
      with:
        version: '>= 363.0.0'
        
    - name: 'Use gcloud CLI'
      run: 'gcloud info'
      
    #- name: 'Last ned BASED model fra cloud bucket'
      #run: 'gcloud storage cp -r gs://mlops/model_llama_2 .'
    - name: Print file list 1
      run: |
          find . -type f -print | sort
#         find . -type d -print | sort

    - name: 'Last ned LORA fra cloud bucket'
      run: |
          mkdir fine_tuned_model
          gcloud storage cp -r gs://mlops/fine_tuned_lora fine_tuned_model/

    - name: Print file list 2
      run: |
          find . -type f -print | sort
#         find . -type d -print | sort

    - uses: docker/login-action@v3
      name: Login to Google Artifact Registry
      with:
        registry: europe-docker.pkg.dev
        username: oauth2accesstoken
        password: ${{ steps.auth.outputs.access_token }}
    
    - run: echo "TAG=$(git log -1 --pretty=%ad --date=format:%Y-%m-%d)-$(git log --pretty=format:'%h' -n 1)" >> $GITHUB_ENV

    - uses: docker/build-push-action@v5
      with:
        file: Dockerfile
        push: true
        tags: europe-docker.pkg.dev/team2137/trygg/app:${{ env.TAG }}

#    - name: "deploy app til cloud run"
#      run: "gcloud run deploy <service-name> --image=<image-uri> --region=europe --allow-unauthenticated"

Мой докер-файл

FROM python:3.11

WORKDIR /app

COPY requirements.txt .
RUN pip install -r requirements.txt


COPY . .

CMD ["python", "app.py"]

Моя проблема в том, что загруженная папка Fine_tuned_model не копируется внутри контейнера докера, когда докер завершает сборку. Он копирует все остальное из GitHub, кроме загруженной папки из корзины. Я пытался даже вручную скопировать каталог в файле докеров, но безуспешно!

Как вы можете видеть, я также перечисляю файлы каталога до и после шага, чтобы увидеть, загружается ли он. И скачивается Fine_tuned_model.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
0
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Есть 2 типа контекста с build-push-action:

  • мерзавец
  • путь

вы используете git context , поэтому любая мутация файла на шагах, предшествующих этапу сборки, будет игнорироваться. Однако вы можете использовать контекст пути, используя ввод контекста вместе с действием/действием оформления заказа, чтобы снять это ограничение.

Другие вопросы по теме