diff --git a/.env b/.env new file mode 100644 index 0000000..ce01a60 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +BUILD_NUMBER=cloud-0.0.5 \ No newline at end of file diff --git a/.gitignore b/.gitignore index b718f91..ad65e57 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. -.env + .env.production # dependencies /node_modules diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..df6e745 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:14 + +WORKDIR /usr/src/app + +COPY package*.json ./ +RUN npm install + + +COPY . . + + +EXPOSE 3000 + +CMD ["npm", "start"] diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..69fbcda --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,74 @@ +def component = [ + Preprocess: false, + Hyper: false, + Train: false, + Test: false, + Bento: false +] +pipeline { + agent { + kubernetes { + yaml """ + apiVersion: v1 + kind: Pod + metadata: + labels: + jenkins/agent-type: kaniko + spec: + containers: + - name: jnlp + image: jenkins/inbound-agent:latest + resources: + requests: + memory: "512Mi" + cpu: "500m" + limits: + memory: "1024Mi" + cpu: "1000m" + - name: kaniko + image: gcr.io/kaniko-project/executor:debug + command: + - /busybox/cat + tty: true + resources: + requests: + memory: "2048Mi" + cpu: "2000m" + limits: + memory: "4096Mi" + cpu: "4000m" + volumeMounts: + - name: docker-config + mountPath: /kaniko/.docker/ + volumes: + - name: docker-config + secret: + secretName: docker-config + """ + } + } + + environment { + DOCKERHUB_USERNAME = "shinyenggwak" + IMAGE_NAME = "jenkins-test" + } + + stage("Build Docker Image & Push to Docker Hub") { + steps { + container("kaniko") { + script { + def context = "./app" + def dockerfile = "./app/Dockerfile" + def image = "${DOCKERHUB_USERNAME}/${IMAGE_NAME}:latest" + + sh 'apk add --no-cache git' + + sh "git clone https://github.com/moija-project/FrontEnd.git ./app" + sh "cd ./app && git checkout sy-development" + + sh "/kaniko/executor --context ${context} --dockerfile ${dockerfile} --destination ${image}" + } + } + } + } +} \ No newline at end of file