🚀deploy
Co-authored-by: Amalie Erdal Mansaker <amalie.erdal.mansaker@nav.no>
This commit is contained in:
		
							parent
							
								
									6c08b11d37
								
							
						
					
					
						commit
						06c08ce89e
					
				
					 4 changed files with 84 additions and 0 deletions
				
			
		
							
								
								
									
										46
									
								
								.github/workflows/build-and-deploy.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								.github/workflows/build-and-deploy.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | |||
| name: "Build and deploy app" | ||||
| on: | ||||
|   workflow_dispatch: | ||||
|   push: | ||||
|     branches: | ||||
|       - "main" | ||||
| env: | ||||
|   "IMAGE": "ghcr.io/${{ github.repository }}:${{ github.sha }}" | ||||
| jobs: | ||||
|   "build": | ||||
|     name: "build" | ||||
|     runs-on: "ubuntu-latest" | ||||
|     steps: | ||||
|       - uses: "actions/checkout@v3" | ||||
|       - uses: "actions/setup-node@v3" | ||||
|         with: | ||||
|           node-version: "18" | ||||
|       - name: "Install dependencies" | ||||
|         run: "yarn" | ||||
|       - name: "Build app" | ||||
|         run: "yarn run build" | ||||
|       - name: "Login to GitHub Docker Registry" | ||||
|         uses: "docker/login-action@v1" | ||||
|         with: | ||||
|           "registry": "ghcr.io" | ||||
|           "username": "${{ github.actor }}" | ||||
|           "password": "${{ secrets.GITHUB_TOKEN }}" | ||||
|       - name: "Build and push Docker" | ||||
|         uses: "docker/build-push-action@v2" | ||||
|         with: | ||||
|           context: . | ||||
|           file: frontend/Dockerfile | ||||
|           tags: "${{ env.IMAGE }}" | ||||
|           push: "true" | ||||
|   "deploy": | ||||
|     name: "Deploy app" | ||||
|     needs: "build" | ||||
|     runs-on: "ubuntu-latest" | ||||
|     steps: | ||||
|       - uses: "actions/checkout@v3" | ||||
|       - name: "Deploy app" | ||||
|         uses: "nais/deploy/actions/deploy@v1" | ||||
|         env: | ||||
|           "APIKEY": "${{ secrets.NAIS_DEPLOY_APIKEY }}" | ||||
|           "CLUSTER": "dev-gcp" | ||||
|           "RESOURCE": "frontend/nais.yml" | ||||
							
								
								
									
										18
									
								
								frontend/Dockerfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								frontend/Dockerfile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| FROM node:18-alpine | ||||
| 
 | ||||
| ENV NODE_ENV production | ||||
| 
 | ||||
| RUN addgroup --system --gid 1069 nodejs | ||||
| RUN adduser --system --uid 1069 nextjs | ||||
| 
 | ||||
| WORKDIR /app | ||||
| COPY --chown=nextjs:nodejs .next/standalone ./ | ||||
| COPY --chown=nextjs:nodejs .next/static ./.next/static | ||||
| 
 | ||||
| USER nextjs | ||||
| 
 | ||||
| EXPOSE 3000 | ||||
| 
 | ||||
| ENV PORT 3000 | ||||
| 
 | ||||
| CMD ["node", "server.js"] | ||||
							
								
								
									
										19
									
								
								frontend/nais.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								frontend/nais.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| apiVersion: "nais.io/v1alpha1" | ||||
| kind: "Application" | ||||
| metadata: | ||||
|   name: "helse-sprik" | ||||
|   namespace: "helse-sprik" | ||||
| spec: | ||||
|   image: {{ image }} | ||||
|   port: 3000 | ||||
|   replicas: | ||||
|     min: 1 | ||||
|     max: 2 | ||||
|   resources: | ||||
|     requests: | ||||
|       cpu: 100m | ||||
|       memory: 128Mi | ||||
|     limits: | ||||
|       memory: 128Mi | ||||
|   ingresses: | ||||
|     - https://helse-sprik.intern.dev.nav.no | ||||
|  | @ -1,6 +1,7 @@ | |||
| /** @type {import('next').NextConfig} */ | ||||
| const nextConfig = { | ||||
|   reactStrictMode: true, | ||||
|   output: 'standalone', | ||||
| } | ||||
| 
 | ||||
| module.exports = nextConfig | ||||
|  |  | |||
		Reference in a new issue
	
	 sindrekjelsrud
						sindrekjelsrud