Моя акция на 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.
Есть 2 типа контекста с build-push-action
:
вы используете git context , поэтому любая мутация файла на шагах, предшествующих этапу сборки, будет игнорироваться. Однако вы можете использовать контекст пути, используя ввод контекста вместе с действием/действием оформления заказа, чтобы снять это ограничение.