yazid138 3 роки тому
батько
коміт
eac7f7ef38
2 змінених файлів з 105 додано та 0 видалено
  1. 87 0
      Jenkinsfile
  2. 18 0
      dockerfile

+ 87 - 0
Jenkinsfile

@@ -0,0 +1,87 @@
+/*
+  1. added 
+     client_max_body_size 0;
+     to avoid 413 error
+*/
+
+node {
+  def app
+  def registryAddress
+  def registryCredential
+  try {
+    // environment {
+      registryAddress = "https://registry.sidali.sixsenz.net"
+      registryCredential = 'DockerRegistry-ID'
+    // }
+	
+    stage('Checkout') {
+      checkout scm
+    }
+	
+    stage('Initialize'){
+      def dockerHome = tool 'myDocker'
+      env.PATH = "${dockerHome}/bin:${env.PATH}"
+    }
+	
+    stage('Environment') {
+      sh 'git --version'
+      echo "Branch: master"
+      sh 'docker -v'
+      sh 'printenv'
+    }
+	
+    stage('Test Build'){
+     sh 'docker build -t ptb-be -f dockerfile .'
+    }
+	
+    stage('Build Deploy '){
+            // // now you are on slave labeled with 'label'
+            // def workspace = WORKSPACE
+            // // ${workspace} will now contain an absolute path to job workspace on slave
+
+            // workspace = env.WORKSPACE
+            // // ${workspace} will still contain an absolute path to job workspace on slave
+
+            // // When using a GString at least later Jenkins versions could only handle the env.WORKSPACE variant:
+            // echo "Current workspace is ${env.WORKSPACE}"
+
+            // // the current Jenkins instances will support the short syntax, too:
+            // echo "Current workspace is $WORKSPACE"
+        docker.withTool("myDocker"){
+            docker.withRegistry(registryAddress, registryCredential) {
+
+                def dockerImage = docker.build("ptb-be:${env.BUILD_ID}")
+
+                /* Push the container to the custom Registry */
+                dockerImage.push()
+                dockerImage.push('latest')
+            }
+        }
+        // echo 'env.BRANCH_NAME : ' + env.BRANCH_NAME
+        // if(env.BRANCH_NAME == 'master'){
+        //     script {
+        //         app = docker.build("ptb-be:latest")
+        //         echo 'app content : ' + app
+        //         dockerImage = registryAddress + ":$BUILD_NUMBER"
+        //         echo 'dockerImage : ' + dockerImage
+        //         echo 'registryCredential : ' + registryCredential
+        //         echo 'registryAddress : ' + registryAddress
+        //         echo 'withRegistry running...'
+        //         docker.withRegistry( "http://"+registryAddress, registryCredential ) {
+        //             echo 'withRegistry inside... app.push start'
+        //             //app.push("${BUILD_NUMBER}")
+        //             app.push('ptb-be:latest')
+        //             echo 'app.push done'
+        //             echo 'withRegistry inside... app.push latest start'
+        //             app.push(latest)
+        //             echo 'withRegistry inside... app.push latest done'
+        //         }
+        //     }
+        // }
+
+     }
+  }
+  catch (err) {
+    throw err
+  }
+}

+ 18 - 0
dockerfile

@@ -0,0 +1,18 @@
+FROM node:14
+
+# Create app directory
+RUN mkdir -p /usr/src/app
+WORKDIR /usr/src/app
+
+# Installing dependencies
+COPY package.json ./
+RUN npm install
+
+# Copying source files
+COPY . .
+
+# Building app
+EXPOSE 5000
+
+# Running the app
+CMD "npm" "start"