Skip to content

Commit

Permalink
doc[cdn]: veldig enkel dokumentasjon
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyrremann committed Oct 17, 2024
1 parent 74fa0d4 commit a866591
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 122 deletions.
3 changes: 3 additions & 0 deletions actions/cdn-upload/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# CDN Upload

For brukerdokumentasjon gå til [docs.nais.io](https://docs.nais.io/services/cdn/how-to/upload-assets/).
123 changes: 1 addition & 122 deletions actions/spa-deploy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,125 +2,4 @@

En GitHub Action som publiserer en Single Page Application (SPA) til NAV CDN og NAIS uten å måtte bygge og deploye et Docker image.

## Forutsetninger

* Teamet må være registrert i [NAIS Console](https://console.nav.cloud.nais.io)
* Repository må autoriseres for deploy i Console
* Applikasjonen må bygges og pakkes som en mappe som inneholder en `index.html` fil og alle andre statiske filer.

## Begrensninger

* Versjonering støttes ikke
* Opprydding av gamle statiske filer støttes ikke
* Navneendring av applikasjonen støttes ikke

## Bruk

```yaml
name: Deploy SPA

on:
push:
branches:
- main

jobs:
build-and-deploy:
runs-on: ubuntu-latest

permissions:
contents: 'read'
id-token: 'write'

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run build
- uses: nais/deploy/actions/spa-deploy/v2@master
with:
app: min-frontend
team: mitt-team
source: ./build
ingress: https://team.nav.no/min-frontend
environment: dev
project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
```
## Input parametere
| Navn | Beskrivelse | Påkrevd | Default |
|---------------------|----------------------------------------------------------------|---------|---------|
| `app` | Applikasjonsnavn | Ja | |
| `team` | Teamnavn | Ja | |
| `source` | Mappe med kompilert kildekode | Ja | |
| `environment` | Miljø (kan være hvilken som helst streng) | Ja | |
| `ingress` | Adresse applikasjonen skal være tilgjenglig på | Ja | |
| `project_id` | Må settes til `${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}` | Ja | |
| `identity_provider` | Må settes til `${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}` | Ja | |

Statiske filer vil bli lastet opp til følgende adresse i NAV CDN:

```text
https://cdn.nav.no/<team>/<app>/<env>/
```

### Flere ingresser

For å få applikasjonen tilgjengelig over flere ingresser kan du sette `ingress` til en kommaseparert liste av ingresser:

```yaml
- uses: nais/deploy/actions/spa-deploy/v2@master
with:
...
ingress: https://team.nav.no/min-frontend,https://team.nav.no/andre-ingress
```

## App Konfigurasjon

### Create React App

For å få riktige lenker til statiske filer på CDN i en Create React App må du sette `PUBLIC_URL`. Det kan gjøres på en av to måter:

1. `.env` fil:

```text
PUBLIC_URL=https://cdn.nav.no/<team>/<app>/<env>/
```

2. `env` i GitHub Actions når du bygger applikasjonen:

```yaml
steps:
- run: npm run build
env:
PUBLIC_URL: https://cdn.nav.no/<team>/<app>/<env>
- uses: nais/deploy/actions/spa-deploy/v2@master
with:
app: <app>
team: <team>
environment: <env>
```

* https://create-react-app.dev/docs/advanced-configuration/
* https://create-react-app.dev/docs/adding-custom-environment-variables#adding-development-environment-variables-in-env

### Next.js

For å bygge en statisk Next.js applikasjon må kjøre `next export` og sette `assetPrefix` i `next.config.js`:

```js
const isProd = process.env.NODE_ENV === 'production'
module.exports = {
// Use the CDN in production and localhost for development.
assetPrefix: isProd ? 'https://cdn.nav.no/<team>/<app>/<env>' : undefined,
}
```

* https://nextjs.org/docs/api-reference/next.config.js/environment-variables
* https://nextjs.org/docs/api-reference/next.config.js/cdn-support-with-asset-prefix
* https://nextjs.org/docs/advanced-features/static-html-export
For brukerdokumentasjon gå til [docs.nais.io](https://docs.nais.io/services/cdn/how-to/spa-deploy/).
5 changes: 5 additions & 0 deletions actions/spa-setup-task/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# SPA Setup task

Brukes som en del av [actions/spa-deploy](../spa-deploy).

Gjør man endringer på koden må man huske å kjøre `yarn all` og commite dist-filene.

0 comments on commit a866591

Please sign in to comment.