DevOps之jenkinsfile示例

2020-05-25  本文已影响0人  OrangeLoveMilan

贴出一个nodejs项目的jenkinsfile,与dockerfile结合,实现持续发布的功能

#!groovy
pipeline {
   agent any
   stages{
           stage('Build') {
            parallel {
                stage('Lint') {
                    steps {
                      
                            sh "npm run tslint"
                        
                    }
                }
                stage('Compile') {
                    steps {
                        
                            sh "npm run build"
                        }             
                 }
                
                }               
            }
            stage('zip'){
                        steps{
                           sh """
                              rm -rf *.zip
                              zip -r -q demo.zip *
                              """
       
       }
   }
     
            stage('docker build'){
                        steps{
                            sh """
                                docker build -f ./Dockerfile . -t node-test:v$BUILD_NUMBER
                                docker login reg.qiniu.com -u lugo@test.com -p test33
                                docker tag node-test:v$BUILD_NUMBER  reg.qiniu.com/lugo/node-test:v$BUILD_NUMBER
                                docker push reg.qiniu.com/lugo/node-test:v$BUILD_NUMBER          
                                """
       }
   }
            stage('ansible deploy'){
                        steps{
                            sh """
                                ansible-playbook /etc/ansible/playbook/node_test.yml  -e image_name=reg.qiniu.com/lugo/node-test:v$BUILD_NUMBER
                                """ 
        }
    }
           }
   }
上一篇 下一篇

猜你喜欢

热点阅读