操作场景
在 Serverless 应用开发中,我们需要手动执行部署命令将开发项目部署到云端。通过引入一些 CI 能力进行 Serverless 应用的自动化部署。
基于 GitHub 的自动化部署
前提条件
已创建 Serverless 应用项目。参考 开发项目 创建您的 Serverless 项目并创建各个环境与分支。已托管您的 Serverless 项目到 Github。
操作步骤
在开发测试阶段,为了方便开发、测试和调试,希望代码每次提交后进行自动化部署。操作如下:1. 选取一个您需要执行自动化部署的分支(本示例选择 dev 分支)。2. 在该分支下创建您的 action。

注意GitHub 规定如果事件发生在特定仓库分支上,则工作流程文件必须存在于该分支的仓库中 。3. 配置腾讯云密钥。

4. 配置 action 部署步骤。
# 当代码推动到 dev 分支时,执行当前工作流程# 更多配置信息: https://docs.github.com/cn/actions/getting-started-with-github-actionsname: deploy serverlesson: #监听的事件和分支配置 push: branches: - dev jobs: test: #配置单元测试 name: test runs-on: ubuntu-latest steps: - name: unit test run: '' deploy: name: deploy serverless runs-on: ubuntu-latest needs: [test] steps: - name: clone local repository uses: actions/checkout@v2 - name: install serverless run: npm install -g serverless-cloud-framework - name: install dependency run: npm install - name: build run: npm build - name: deploy serverless run: scf deploy --debug env: # 环境变量 STAGE: dev #您的部署环境 SERVERLESS_PLATFORM_VENDOR: tencent #serverless 境外默认为 aws,配置为腾讯 TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }} #您的腾讯云账号 sercret ID TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }} #您的腾讯云账号 sercret key
完成上述配置后,开发者每次提交代码到 dev 分支时,就会自动部署。
基于 Coding 的自动化部署
前提条件
已开通 Coding 账号。腾讯云用户可以通过 CODING DevOps 快速开通。已创建 Serverless 应用项目。如果您未创建 Serverless 应用项目,请参考 开发项目 创建您的 Serverless 项目并创建各个环境与分支。已托管您的 Serverless 项目到 Coding/Github/Gitlab/码云。
操作场景
在开发测试阶段,为了方便开发、测试和调试,希望代码每次提交后进行自动化部署。操作如下:1. 创建您的 Coding Devops 项目。

2. 创建一个构建计划,选择自定义构建过程。

3. 配置构建计划。3.1 基础信息配置。本例中配置 Github 仓库:June1991/express-demo。

3.2 触发规则配置。本例中配置代码推送到 dev 分支时触发构建。

3.3 环境变量配置。本例中配置 STAGE 变量为部署环境 dev,TENCENT_CLOUD_API_CRED 为腾讯云账号密钥(密钥配置路径:左下角项目设置 > 开发者选项 > 凭据管理 > 录入凭据 > 腾讯云 API 密钥)。

3.4 流程配置。
pipeline { agent any stages { stage('检出') { steps { checkout([$class: 'GitSCM', branches: [[name: env.GIT_BUILD_REF]], userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID]]]) } } stage('安装依赖') { steps { echo '安装依赖中...' sh 'npm i -g serverless-cloud-framework' sh 'npm install' echo '安装依赖完成.' } } stage('部署') { steps { echo '部署中...'
withCredentials([ cloudApi( credentialsId: "${env.TENCENT_CLOUD_API_CRED}", secretIdVariable: 'TENCENT_SECRET_ID', secretKeyVariable: 'TENCENT_SECRET_KEY' ), ]) {
// 生成凭据文件 sh 'echo "TENCENT_SECRET_ID=${TENCENT_SECRET_ID}\nTENCENT_SECRET_KEY=${TENCENT_SECRET_KEY}" > .env' // 部署 sh 'scf deploy --debug' // 移除凭据 sh 'rm .env' }
echo '部署完成' } } } }
完成以上配置后,开发者每次提交代码到 dev 分支时,就会自动部署。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/149175.html