最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

快看:腾讯云的devops自动化部署代替jenkins

来源:博客园


(资料图片仅供参考)

起因

jenkins太耗内存了,经常导致服务器崩。了解到devOps也是做类似的服务的,遂用之。serverless framework也可以做这个,但是截至目前,只能够打包node项目。

devOps服务器运营商基本都提供,比如腾讯云、阿里云、亚马逊云等,使用方法大致相同

流程配置

devops核心内容就是pipeline 即流程配置。下边提供几个常用的配置

前端项目 推送到服务器

这里拿一个react项目,打包完 将内容推送到服务器的home文件夹内

pipeline {  stages {    stage("获取仓库代码") {      steps {        checkout([          $class: "GitSCM",          branches: [[name: GIT_BUILD_REF]],          userRemoteConfigs: [[            url: GIT_REPO_URL,            credentialsId: CREDENTIALS_ID          ]]])        }      }      stage("安装依赖") {        steps {          sh "yarn"        }      }      stage("打包产物") {        steps {          sh "yarn build"          sh "tar -zcvf tmp.tar.gz build"        }      }      stage("部署") {        steps {          echo "部署中..."          script {            def remote = [:]            remote.name = "腾讯云"            remote.allowAnyHosts = true            remote.host = "82.157.146.87"            remote.port = 22            remote.user = "root"            // 把「CODING 凭据管理」中的「凭据 ID」填入 credentialsId,            // 参考:https://coding.net/help/docs/project-settings/credential.html#faq            withCredentials([usernamePassword(credentialsId: "6de4c5ea-8436-4ed5-9e33-2b737f6f3032", passwordVariable: "password", usernameVariable: "userName")]) {              remote.user = "${userName}"              remote.password = "${password}"              // SSH 上传文件到远端服务器 的home目录下              sshPut remote: remote, from: "./tmp.tar.gz", into: "/home/tmp.tar.gz"              // 创建一个文件夹,讲解压缩的文件放进去               sshCommand remote: remote, sudo: true, command: "mkdir -p /home/build"              sshCommand remote: remote, command: "tar -zxf /home/tmp.tar.gz -C /home/build"            }          }          echo "部署完成"        }      }    }  }

如果想直接部署到nginx服务器根目录 这样更简单

                 

关键词: