Jenkinsfile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. pipeline {
  2. agent any
  3. options {
  4. skipDefaultCheckout true
  5. }
  6. stages {
  7. stage('checkout') {
  8. steps {
  9. checkout scm
  10. }
  11. }
  12. stage('npm install') {
  13. steps {
  14. script {
  15. sh "cnpm install"
  16. }
  17. }
  18. }
  19. stage('npm build') {
  20. steps {
  21. script {
  22. sh "cnpm run build"
  23. }
  24. }
  25. }
  26. stage('build docker image') {
  27. steps {
  28. script {
  29. sh "aws ecr get-login-password --region cn-north-1 | docker login --username AWS --password-stdin 226381024927.dkr.ecr.cn-north-1.amazonaws.com.cn"
  30. sh "docker build -t aibaidu/h5 ."
  31. }
  32. }
  33. }
  34. stage('push docker image') {
  35. steps {
  36. script {
  37. sh "docker tag aibaidu/h5:latest 226381024927.dkr.ecr.cn-north-1.amazonaws.com.cn/aibaidu/h5:latest"
  38. sh "docker push 226381024927.dkr.ecr.cn-north-1.amazonaws.com.cn/aibaidu/h5:latest"
  39. }
  40. }
  41. }
  42. stage('deploy') {
  43. steps {
  44. script {
  45. sh "ssh -o StrictHostKeyChecking=no aibaidu-admin './deploy-h5.sh'"
  46. }
  47. }
  48. }
  49. stage('Send notify'){
  50. steps{
  51. script{
  52. sh "curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=743fe5f4-d4cf-4906-8aa5-93353a4287da' -H 'Content-Type: application/json' -d '{\"msgtype\": \"markdown\",\"markdown\": {\"content\": \"### H5落地页\n<font color=\"info\">部署完成</font>\",\"mentioned_list\":[\"@all\"]}}'"
  53. }
  54. }
  55. }
  56. }
  57. }