Serverless 架构下的 AI 应用开发


关注我们,后台回复 手册免费获取产品解决方案

导读

Serverless 架构与 CI/CD 工具的结合
CI/CD 的概念与内容简图
Serverless 开发者工具配置到 CI/CD 平台的流程与 GitHub Action 的集成
name: Serverless Devs Project CI/CDon:push:branches: [ master ]jobs:serverless-devs-cd:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2- uses: actions/setup-node@v2with:node-version: 12registry-url: https://registry.npmjs.org/- run: npm install- run: npm install -g @serverless-devs/s- run: s config add --AccountID ${{secrets.AccountID}} --AccessKeyID${{secrets.AccessKeyID}} --AccessKeySecret ${{secrets.AccessKeySecret}} -a default- run: s deploy
通过 NPM 安装最新版本的 Serverless Devs 开发者工具: 
run: npm install -g @serverless-devs/s
通过 config 命令进行密钥等信息的配置:
run: s config add --AccountID ${{secrets.AccountID}} --AccessKeyID ${{secrets.AccessKeyID}} --AccessKeySecret ${{secrets.AccessKeySecret}} -a default
执行某些命令,例如通过 deploy 命令进行项目的部署,或者通过 build 等命令进行项目的构建:
run: s deploy
GitHub Secrets 页面
创建和配置密钥信息页面
GitHub 仓库配置密钥结果页面与 Gitee Go 的集成
name: serverless-devsdisplayName: 'Serverless Devs Project CI/CD'triggers: #流水线触发器配置push:- matchType: PRECISEbranch: mastercommitMessage: ''stages:- stage:name: deploy-stagedisplayName: 'Deploy Stage'failFast: falsesteps: #构建步骤配置- step: npmbuild@1 #采用NPM编译环境name: deploy-stepdisplayName: 'Deploy Step'inputs: #构建输入参数设定nodeVersion: 14.15 #指定 node 环境版本为 14.15goals: | #安装依赖,配置相关主题、部署参数并发布部署node -vnpm -vnpm install -g @serverless-devs/ss co nfig add --AccountID $ACCOUNTID --AccessKeyID $ACCESSKEYID --AccessKeySecret $ACCESSKEYSECRET -a defaults deploy
通过 NPM 安装最新版本的 Serverless Devs 开发者工具: 
npm install -g @serverless-devs/s
通过 config 命令进行密钥等信息的配置:
s config add --AccountID $ACCOUNTID --AccessKeyID $ACCESSKEYID --AccessKeySecret$ACCESSKEYSECRET -a default
执行某些命令,例如通过 deploy 命令进行项目的部署,或者通过 build 等命令进行项目的构建:
s deploy
Gitee 的环境变量管理页面
创建和配置密钥信息页面
Gitee 仓库完成密钥配置页面与 Jenkins 的集成
Jenkins 凭据设置页面jenkins-alicloud-account-id : 阿里云 accountIdjenkins-alicloud-access-key-id : 阿里云 accessKeyIdjenkins-alicloud-access-key-secret : 阿里云 accessKeySecret
Jenkins 凭据设置页面
pipeline {agent {docker {image 'maven:3.3-jdk-8'}}environment {ALICLOUD_ACCESS = 'default'ALICLOUD_ACCOUNT_ID = credentials('jenkins-alicloud-account-id')ALICLOUD_ACCESS_KEY_ID = credentials('jenkins-alicloud-access-key-id')ALICLOUD_ACCESS_KEY_SECRET = credentials('jenkins-alicloud-access-key-secret')}stages {stage('Setup') {steps {sh 'scripts/setup.sh'}}}}
environment 部分:主要是根据上面步骤配置的密钥信息,进行密钥的处理。 stages 部分:包括 sh 'scripts/setup.sh'部分,即运行 scripts/setup.sh 文件,进行相关内容的准备和配置。 
#!/usr/bin/env bashecho $(pwd)curl -o- -L http://cli.so/install.sh | bashsource ~/.bashrcecho $ALICLOUD_ACCOUNT_IDs config add --AccountID $ALICLOUD_ACCOUNT_ID --AccessKeyID $ALICLOUD_ACCESS_KEY_ID --AccessKeySecret $ALICLOUD_ACCESS_KEY_SECRET -a $ALICLOUD_ACCESS(cd code && mvn package && echo $(pwd))s deploy -y --use-local --access $ALICLOUD_ACCESS
安装最新版本的 Serverless Devs 开发者工具: 
curl -o- -L http://cli.so/install.sh | bash
通过 config 命令进行密钥等信息的配置:
s config add --AccountID $ALICLOUD_ACCOUNT_ID --AccessKeyID $ALICLOUD_ACCESS_KEY_ID --AccessKeySecret $ALICLOUD_ACCESS_KEY_SECRET -a $ALICLOUD_ACCESS
执行某些命令,例如通过 deploy 命令进行项目的部署,或者通过 build 等命令进行项目构建:
s deploy -y --use-local --access $ALICLOUD_ACCESS
与云效的集成
# input your command herenpm install -g @serverless-devs/ss config add --AccountID ${ACCOUNTID} --AccessKeyID ${ACCESSKEYID} --AccessKeySecret${ACCESSKEYSECRET} -a defaults deploy
与 GitHub Action、Gitee Go 以及 Jenkins 的配置类似,与云效集成同样主要包括 3 部分。
安装最新版本的 Serverless Devs 开发者工具: 
npm install -g @serverless-devs/s
通过 config 命令进行密钥等信息的配置:
s config add --AccountID ${ACCOUNTID} --AccessKeyID${ACCESSKEYID} --AccessKeySecret
执行某些命令,例如通过 deploy 命令进行项目的部署,或者通过 build 等命令进行项目的构建:
s deploy -y
云效命令配置页面
环境变量配置页面CI/CD 平台集成
下载工具:命令为 npm install -g @Serverless-devs/s。 配置密钥:命令为 s config add --AccountID $ACCOUNTID --AccessKeyID $ACCESSKEYID --AccessKeySecret $ACCESSKEYSECRET -a default。 项目部署:命令为 s deploy。 
Serverless 应用的可观测性
函数计算可观测性整体图表
函数计算的请求记录
函数计算的请求详情
函数计算的日志信息
函数计算的 Tracing 相关信息

新书推荐

点击下方免费获取产品手册!
评论
