node {
  def mailto="601470458@qq.com,505127606@qq.com,154707516@qq.com,444949396@qq.com,714943302@qq.com" //邮件接收人员列表
  def containerName="adminweb" //容器名称
  def imageName="130.120.3.193/com.gzzn.omms/admin-web:0.0.1-SNAPSHOT" //镜像名称
  def dockerRegistry="http://130.120.3.193"
  def credentialsId="e41b57a4-436a-4617-817c-9e3f25a8a47f" //ssh证书id
  def deployHost="130.120.3.231" //发布到的主机
  

  checkout scm
  docker.image('teracy/angular-cli').inside() {
            stage('build'){
                sh 'npm config set registry http://registry.npm.taobao.org/'
                sh 'npm install'
                sh 'ng build'
            }
  }


   stage('Image Build And Push'){
        docker.withRegistry("${dockerRegistry}", 'privateDockerId') {
              docker.build("${imageName}").push()
        }
   }



   stage('deploy'){
               def remote = [:]
               remote.name = "airport-dev"
               remote.host = "${deployHost}"
               remote.allowAnyHosts = true

               withCredentials([sshUserPrivateKey(credentialsId: "${credentialsId}", keyFileVariable: 'kfIdentity', passphraseVariable: 'pVariable', usernameVariable: 'userName')]) {
                 remote.user = userName
                 remote.identityFile = kfIdentity
                 
                 sshCommand remote: remote, command: "docker stop ${containerName}",sudo: true ,failOnError: false
                 sshCommand remote: remote, command: "docker rm ${containerName}",sudo: true ,failOnError: false
                 sshCommand remote: remote, command: "docker rmi ${imageName}",sudo: true ,failOnError: false
                 sshCommand remote: remote, command: "docker run -d -p 96:80 --name ${containerName} ${imageName}",sudo: true
               }
            }
}