Skip to content

常用插件

  • Git Parameter
  • Publish Over SSH

流水线语法

// 所有命令都要放在pipeline里
pipeline {
  // 指定任务在哪个节点处理
  agent any

  // 声明全局变量
  environment {
    key = 'value'
  }

  // 步骤
  stages {
    stage('拉取Git仓库代码') {
      steps {
        checkout scmGit(branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[url: 'https://github.com/cyjjohn/vitepress.git']])
        echo '拉取Git仓库代码 - 成功'
      }
    }
    stage('通过node构建项目') {
      steps {
        echo '通过node构建项目 - 成功'
      }
    }
    stage('ssh推送') {
      steps {
        // 注意ssh连接后默认路径为~
        sshPublisher(publishers: [sshPublisherDesc(configName: 'test', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'echo \'test success\' > a.txt', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
        echo 'ssh推送 - 成功'
      }
    }
  }

  // 推送消息
  post {
    success {
      emailext subject: "构建成功 #${env.BUILD_NUMBER}",
      body: "构建成功!详情请查看:${env.BUILD_URL}",
      to: "team@example.com"
    }
    failure {
      emailext subject: "构建失败 #${env.BUILD_NUMBER}",
      body: "构建失败!详情请查看:${env.BUILD_URL}",
      to: "team@example.com"
    }
  }
}