diff --git a/k8s/deployment.yaml b/k8s/deployment.yaml new file mode 100644 index 000000000..1ae303536 --- /dev/null +++ b/k8s/deployment.yaml @@ -0,0 +1,77 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgree +spec: + selector: + matchLabels: + app: postgree + template: + metadata: + labels: + app: postgree + spec: + containers: + - name: postgree + image: postgres:15.0 + ports: + - containerPort: 5432 + env: + - name: POSTGRES_DB + value: "kubenews" + - name: POSTGRES_USER + value: "kubenews" + - name: POSTGRES_PASSWORD + value: "Pg#123" +--- +apiVersion: v1 +kind: Service +metadata: + name: postgree +spec: + selector: + app: postgree + ports: + - port: 5432 + type: ClusterIP + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: web +spec: + selector: + matchLabels: + app: web + template: + metadata: + labels: + app: web + spec: + containers: + - name: web + image: vinifurt22/kube-news:v1 + ports: + - containerPort: 8080 + env: + - name: DB_DATABASE + value: "kubenews" + - name: DB_USERNAME + value: "kubenews" + - name: DB_PASSWORD + value: "Pg#123" + - name: DB_HOST + value: "postgree" +--- +apiVersion: v1 +kind: Service +metadata: + name: web +spec: + selector: + app: web + ports: + - port: 80 + targetPort: 8080 + type: LoadBalancer \ No newline at end of file diff --git a/src/Dockerfile b/src/Dockerfile new file mode 100644 index 000000000..4772f42c7 --- /dev/null +++ b/src/Dockerfile @@ -0,0 +1,6 @@ +FROM node:18.11.0 +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +CMD ["node", "server.js"] diff --git a/src/Jenkinsfile b/src/Jenkinsfile new file mode 100644 index 000000000..17fbf2eb9 --- /dev/null +++ b/src/Jenkinsfile @@ -0,0 +1,13 @@ +pipeline { + agent any + + stages { + stage('Build Bocker Image') { + steps { + script { + dockerapp = docker.build("vinifurt22/kube-news:${env.BUILD_ID}", '-f ./src/Dockerfile ./src') + } + } + } + } +} \ No newline at end of file