✨ Staging env file and prefix title with [DEV] while in staging
This commit is contained in:
1
.env.staging
Normal file
1
.env.staging
Normal file
@ -0,0 +1 @@
|
|||||||
|
URL="https://dev.martials.no"
|
10
Dockerfile
10
Dockerfile
@ -1,6 +1,8 @@
|
|||||||
FROM node:lts-alpine AS base
|
FROM node:lts-alpine AS base
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
ARG mode
|
||||||
|
|
||||||
# By copying only the package.json and package-lock.json here, we ensure that the following `-deps` steps are independent of the source code.
|
# By copying only the package.json and package-lock.json here, we ensure that the following `-deps` steps are independent of the source code.
|
||||||
# Therefore, the `-deps` steps will be skipped if only the source code changes.
|
# Therefore, the `-deps` steps will be skipped if only the source code changes.
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY package.json pnpm-lock.yaml ./
|
||||||
@ -14,7 +16,11 @@ RUN npm exec -- pnpm install
|
|||||||
|
|
||||||
FROM build-deps AS build
|
FROM build-deps AS build
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN npm exec -- pnpm run build
|
RUN if [ "$mode" = "staging" ]; then \
|
||||||
|
npm exec -- pnpm run staging; \
|
||||||
|
else \
|
||||||
|
npm exec -- pnpm run build; \
|
||||||
|
fi
|
||||||
|
|
||||||
FROM base AS runtime
|
FROM base AS runtime
|
||||||
COPY --from=prod-deps /app/node_modules ./node_modules
|
COPY --from=prod-deps /app/node_modules ./node_modules
|
||||||
@ -23,4 +29,4 @@ COPY --from=build /app/dist ./dist
|
|||||||
ENV HOST=0.0.0.0
|
ENV HOST=0.0.0.0
|
||||||
ENV PORT=4321
|
ENV PORT=4321
|
||||||
EXPOSE 4321
|
EXPOSE 4321
|
||||||
ENTRYPOINT node ./dist/server/entry.mjs
|
ENTRYPOINT exec node ./dist/server/entry.mjs
|
@ -16,5 +16,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
mode: staging
|
||||||
ports:
|
ports:
|
||||||
- "4322:4321"
|
- "4322:4321"
|
@ -6,6 +6,7 @@
|
|||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"start": "astro dev",
|
"start": "astro dev",
|
||||||
"build": "paraglide-js compile --project ./project.inlang --outdir ./src/paraglide && astro check && astro build",
|
"build": "paraglide-js compile --project ./project.inlang --outdir ./src/paraglide && astro check && astro build",
|
||||||
|
"staging": "paraglide-js compile --project ./project.inlang --outdir ./src/paraglide && astro check && astro build --mode staging",
|
||||||
"preview": "astro preview",
|
"preview": "astro preview",
|
||||||
"astro": "astro",
|
"astro": "astro",
|
||||||
"type-check": "astro check",
|
"type-check": "astro check",
|
||||||
|
@ -11,6 +11,9 @@ interface Props {
|
|||||||
class?: string
|
class?: string
|
||||||
}
|
}
|
||||||
const { title, description, keywords, class: clazz } = Astro.props
|
const { title, description, keywords, class: clazz } = Astro.props
|
||||||
|
|
||||||
|
const prefix = import.meta.env.MODE === "staging" ? "[DEV] " : ""
|
||||||
|
|
||||||
const mainClass =
|
const mainClass =
|
||||||
"grow max-w-[1000px] m-auto sm:min-w-[500px] not-sm:w-full px-5"
|
"grow max-w-[1000px] m-auto sm:min-w-[500px] not-sm:w-full px-5"
|
||||||
---
|
---
|
||||||
@ -26,7 +29,7 @@ const mainClass =
|
|||||||
{keywords && <meta name="keywords" content={keywords.join(", ")} />}
|
{keywords && <meta name="keywords" content={keywords.join(", ")} />}
|
||||||
<link rel="sitemap" href="/sitemap-index.xml" />
|
<link rel="sitemap" href="/sitemap-index.xml" />
|
||||||
<link rel="icon" type="image/jpg" href="/favicon.jpg" />
|
<link rel="icon" type="image/jpg" href="/favicon.jpg" />
|
||||||
<title>{title} | Martin Berg Alstad</title>
|
<title>{prefix}{title} | Martin Berg Alstad</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="flex flex-col min-h-screen bg-cat-base text-cat-text">
|
<body class="flex flex-col min-h-screen bg-cat-base text-cat-text">
|
||||||
|
Reference in New Issue
Block a user