jenkins构建+远程部署前端项目


##/bin/bash

npm config set registry https://registry.npm.taobao.org
npm install
npm run build
cd dist
rm -rf new_dist.tar.gz
tar -zcvf new_dist.tar.gz *

Publish over SSH

## /bin/bash

cd /data/jenkins-npm-demo
mkdir -p dist
rm -rf new_dist
rm -rf old_dist
mkdir new_dist
tar -zxvf new_dist.tar.gz -C ./new_dist
mv ./dist ./old_dist
mv ./new_dist ./dist

pipeline语法


sshPublisher(
  publishers: [
    sshPublisherDesc(
      configName: '192.168.7.66', 
      transfers: [
        sshTransfer(
          cleanRemote: false, 
          excludes: '', 
          execCommand: '''
            cd /data/jenkins-npm-demo
            mkdir -p dist
            rm -rf new_dist
            rm -rf old_dist
            mkdir new_dist
            tar -zxvf new_dist.tar.gz -C ./new_dist
            mv ./dist ./old_dist
            mv ./new_dist ./dist
          ''',
        execTimeout: 120000, 
        flatten: false, 
        makeEmptyDirs: false, 
        noDefaultExcludes: false, 
        patternSeparator: '[, ]+', 
        remoteDirectory: '/data/jenkins-npm-demo', 
        remoteDirectorySDF: false, 
        removePrefix: 'dist', 
        sourceFiles: 'dist/new_dist.tar.gz')], 
        usePromotionTimestamp: false, 
        useWorkspaceInPromotion: false, 
        verbose: false
      )
  ]
)