fly-apps / fly-apps/dockerfile-node

Prevent `dist` folders from static apps from being ignored

Ouverte
#91 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
JavaScript
Étoiles
187
Forks
11
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

A friend had a dockerfile like this:

```
# syntax = docker/dockerfile:1

# Adjust NODE_VERSION as desired
ARG NODE_VERSION=18.7.0
FROM node:${NODE_VERSION}-slim as base

LABEL fly_launch_runtime="NodeJS"

# NodeJS app lives here
WORKDIR /app

# Set production environment
ENV NODE_ENV=production
ENV VITE_API_BASE_URL="https://japu-backoffice-dev.fly.dev/api/v1"
ARG YARN_VERSION=1.22.19
RUN npm install -g yarn@$YARN_VERSION --force
RUN npm install -g @quasar/cli

# Throw-away build stage to reduce size of final image
FROM base as build

# Install packages needed to build node modules
RUN apt-get update -qq && \
apt-get install -y python-is-python3 pkg-config build-essential

# Install node modules
COPY --link package.json yarn.lock ./

COPY . .

RUN yarn install --production=false

RUN npx quasar build

FROM pierrezemb/gostatic

# Copy built application
COPY --from=build /app/dist/spa /srv/http
```

And they tried to deploy and got an issue like:

```
=> ERROR [2/2] COPY ./dist/spa/ /srv/http/ 0.0s
------
[2/2] COPY ./dist/spa/ /srv/http/:
------
```

Because during launch they got asked to create a `.dockerignore` and accepted it. Probably it contained a line to ignore dist.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par inspecter les flux .dockerignore et Dockerfile générés présentés dans l’issue, en particulier le COPY de la sortie dist de l’application statique. Confirmez comment les builds statiques sont gérés, puis assurez-vous que les règles d’exclusion générées laissent le dossier dist requis disponible pour la copie finale dans l’image ; vérifiez-le avec un déploiement d’application statique ou les checks existants du dépôt.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
docker, javascript
Domaine
devops
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.