Add pipeline
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
892d100e68
commit
2091723b40
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules
|
||||||
|
npm-debug.log
|
|
@ -0,0 +1,52 @@
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: deploy
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build-publish-image
|
||||||
|
image: plugins/docker
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- name: build
|
||||||
|
path: /drone/src/build
|
||||||
|
settings:
|
||||||
|
username:
|
||||||
|
from_secret: org_docker_username
|
||||||
|
password:
|
||||||
|
from_secret: org_docker_password
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
repo: dutchellie/${DRONE_REPO_NAME}
|
||||||
|
tags:
|
||||||
|
- ${DRONE_BRANCH}-${DRONE_COMMIT_SHA:0:8}
|
||||||
|
- name: deploy
|
||||||
|
image: pelotech/drone-helm3
|
||||||
|
settings:
|
||||||
|
mode: upgrade
|
||||||
|
chart: .drone/helm/chart
|
||||||
|
namespace: drone-staging
|
||||||
|
release: ${DRONE_REPO_NAME}-${DRONE_BRANCH}
|
||||||
|
skip_tls_verify: true
|
||||||
|
values_files:
|
||||||
|
- .drone/helm/staging-val.yaml
|
||||||
|
values:
|
||||||
|
- "image=dutchellie/${DRONE_REPO_NAME}:${DRONE_BRANCH}-${DRONE_COMMIT_SHA:0:8}"
|
||||||
|
- "baseURL=${DRONE_BRANCH}.${DRONE_REPO_NAME}.ci.dutchellie.nl"
|
||||||
|
- "name={DRONE_REPO_NAME}-${DRONE_BRANCH}"
|
||||||
|
kube_api_server:
|
||||||
|
from_secret: org_api_server
|
||||||
|
kube_token:
|
||||||
|
from_secret: org_kube_token
|
||||||
|
kube_certificate:
|
||||||
|
from_secret: org_kube_certificate
|
||||||
|
kube_service_account: drone-deploy
|
||||||
|
dry_run: false
|
||||||
|
depends_on:
|
||||||
|
- build-publish-image
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: build
|
||||||
|
temp: {}
|
|
@ -0,0 +1,3 @@
|
||||||
|
apiVersion: v2
|
||||||
|
name: newsite
|
||||||
|
version: v0.0.3
|
|
@ -0,0 +1,39 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.name }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
{{- if .Values.annotations }}
|
||||||
|
annotations: {{ toYaml .Values.annotations | nindent 4}}
|
||||||
|
{{- end}}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: {{ .Values.name }}
|
||||||
|
release: {{ .Values.release }}
|
||||||
|
replicas: {{ .Values.replicas }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
{{- if .Values.podAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.controller.podAnnotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
app: {{ .Values.name }}
|
||||||
|
release: {{ .Values.release }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: {{ .Values.containerName }}
|
||||||
|
image: {{ .Values.image }}
|
||||||
|
imagePullPolicy: {{ .Values.imagePullPolicy }}
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: {{ .Values.service.port }}
|
||||||
|
{{- if .Values.containerEnv }}
|
||||||
|
env: {{ toYaml .Values.containerEnv | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ tpl .Values.ingress.name . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
{{- with .Values.ingress.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- tpl (. | toYaml) $ | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
ingressClassName: {{ .Values.ingress.className }}
|
||||||
|
{{- if .Values.ingress.tls }}
|
||||||
|
tls:
|
||||||
|
{{- range .Values.ingress.tls }}
|
||||||
|
- hosts:
|
||||||
|
{{- range .hosts }}
|
||||||
|
- {{ tpl . $ | quote }}
|
||||||
|
{{- end }}
|
||||||
|
secretName: {{ tpl (.secretName | toYaml) $ }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
rules:
|
||||||
|
{{- range .Values.ingress.hosts }}
|
||||||
|
- host: {{ tpl .host $ | quote }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
{{- range .paths }}
|
||||||
|
- path: {{ .path }}
|
||||||
|
pathType: {{ .pathType }}
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: {{ tpl $.Values.service.name $ }}
|
||||||
|
port:
|
||||||
|
number: {{ .Values.service.port }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ tpl .Values.service.name . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
{{- with .Values.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: {{ .Values.name }}
|
||||||
|
release: {{ .Values.release }}
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
name: http
|
||||||
|
port: {{ .Values.service.port }}
|
||||||
|
targetPort: {{ .Values.service.port }}
|
|
@ -0,0 +1,29 @@
|
||||||
|
name: nginx-changeme-deployment
|
||||||
|
annotations: {}
|
||||||
|
release: latest
|
||||||
|
replicas: 1
|
||||||
|
podAnnotations: {}
|
||||||
|
containerName: nginx
|
||||||
|
image: nginx:latest
|
||||||
|
imagePullPolicy: Always
|
||||||
|
containerEnv: []
|
||||||
|
|
||||||
|
service:
|
||||||
|
name: changeme-service
|
||||||
|
annotations: {}
|
||||||
|
port: 3000
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
name: changeme-ingress
|
||||||
|
annotations: {}
|
||||||
|
className: nginx
|
||||||
|
tls: []
|
||||||
|
# tls:
|
||||||
|
# - hosts:
|
||||||
|
# - example.com
|
||||||
|
# secretName: example-tls
|
||||||
|
hosts:
|
||||||
|
- host: example.com
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
|
@ -0,0 +1,21 @@
|
||||||
|
baseURL: changeme.dutchellie.nl
|
||||||
|
name: changeme-prod
|
||||||
|
containerEnv:
|
||||||
|
# - name: APIURL
|
||||||
|
# value: https://api.quenten.nl/api
|
||||||
|
service:
|
||||||
|
name: "{{ .Values.name }}"
|
||||||
|
ingress:
|
||||||
|
name: "{{ .Values.name }}"
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||||
|
external-dns.alpha.kubernetes.io/hostname: "{{ .Values.baseURL }}"
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- "{{ .Values.baseURL }}"
|
||||||
|
secretName: "{{ .Values.name }}-tls"
|
||||||
|
hosts:
|
||||||
|
- host: "{{ .Values.baseURL }}"
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
|
@ -0,0 +1,22 @@
|
||||||
|
baseURL: changemestaging.dutchellie.nl
|
||||||
|
name: changeme-staging
|
||||||
|
containerEnv:
|
||||||
|
# - name: APIURL
|
||||||
|
# value: https://api.quenten.nl/api/testing
|
||||||
|
service:
|
||||||
|
name: "{{ .Values.name }}"
|
||||||
|
port: 3000
|
||||||
|
ingress:
|
||||||
|
name: "{{ .Values.name }}"
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: "letsencrypt-staging"
|
||||||
|
external-dns.alpha.kubernetes.io/hostname: "{{ .Values.baseURL }}"
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- "{{ .Values.baseURL }}"
|
||||||
|
secretName: "{{ .Values.name }}-tls"
|
||||||
|
hosts:
|
||||||
|
- host: "{{ .Values.baseURL }}"
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
|
@ -0,0 +1,18 @@
|
||||||
|
FROM node:18.2.0-alpine
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
RUN npm ci
|
||||||
|
RUN npm audit fix
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM node:18.2.0-alpine
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=0 /app/package*.json ./
|
||||||
|
RUN npm ci --production --ignore-scripts
|
||||||
|
RUN npm audit fix
|
||||||
|
COPY --from=0 /app/build ./
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
CMD ["node", "./index.js"]
|
|
@ -9,6 +9,7 @@
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/adapter-auto": "next",
|
"@sveltejs/adapter-auto": "next",
|
||||||
|
"@sveltejs/adapter-node": "^1.0.0-next.78",
|
||||||
"@sveltejs/kit": "next",
|
"@sveltejs/kit": "next",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
||||||
"@typescript-eslint/parser": "^5.27.0",
|
"@typescript-eslint/parser": "^5.27.0",
|
||||||
|
@ -196,6 +197,15 @@
|
||||||
"tiny-glob": "^0.2.9"
|
"tiny-glob": "^0.2.9"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@sveltejs/adapter-node": {
|
||||||
|
"version": "1.0.0-next.78",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-1.0.0-next.78.tgz",
|
||||||
|
"integrity": "sha512-TXB5Ii0z/7o1B05p/YLsS4t+JUHFHWBzFv1U16TKvM3HMbMUJIx+AhpM2WJfDX8HtAyfd1m9OawGoUB+1ed24A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"tiny-glob": "^0.2.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@sveltejs/adapter-vercel": {
|
"node_modules/@sveltejs/adapter-vercel": {
|
||||||
"version": "1.0.0-next.59",
|
"version": "1.0.0-next.59",
|
||||||
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.59.tgz",
|
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.59.tgz",
|
||||||
|
@ -3276,6 +3286,15 @@
|
||||||
"tiny-glob": "^0.2.9"
|
"tiny-glob": "^0.2.9"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@sveltejs/adapter-node": {
|
||||||
|
"version": "1.0.0-next.78",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-1.0.0-next.78.tgz",
|
||||||
|
"integrity": "sha512-TXB5Ii0z/7o1B05p/YLsS4t+JUHFHWBzFv1U16TKvM3HMbMUJIx+AhpM2WJfDX8HtAyfd1m9OawGoUB+1ed24A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"tiny-glob": "^0.2.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@sveltejs/adapter-vercel": {
|
"@sveltejs/adapter-vercel": {
|
||||||
"version": "1.0.0-next.59",
|
"version": "1.0.0-next.59",
|
||||||
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.59.tgz",
|
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.59.tgz",
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/adapter-auto": "next",
|
"@sveltejs/adapter-auto": "next",
|
||||||
|
"@sveltejs/adapter-node": "^1.0.0-next.78",
|
||||||
"@sveltejs/kit": "next",
|
"@sveltejs/kit": "next",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
||||||
"@typescript-eslint/parser": "^5.27.0",
|
"@typescript-eslint/parser": "^5.27.0",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import adapter from '@sveltejs/adapter-auto';
|
import adapter from '@sveltejs/adapter-node';
|
||||||
import preprocess from 'svelte-preprocess';
|
import preprocess from 'svelte-preprocess';
|
||||||
|
|
||||||
/** @type {import('@sveltejs/kit').Config} */
|
/** @type {import('@sveltejs/kit').Config} */
|
||||||
|
|
Loading…
Reference in New Issue