Serverless 架构下的 AI 应用开发
Serverless
共 7967字,需浏览 16分钟
·
2022-11-21 14:00
关注我们,后台回复 手册免费获取产品解决方案
导读
Serverless 架构与 CI/CD 工具的结合
与 GitHub Action 的集成
name: Serverless Devs Project CI/CD
on:
push:
branches: [ master ]
jobs:
serverless-devs-cd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 12
registry-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 页面
与 Gitee Go 的集成
name: serverless-devs
displayName: 'Serverless Devs Project CI/CD'
triggers: #流水线触发器配置
push:
- matchType: PRECISE
branch: master
commitMessage: ''
stages:
- stage:
name: deploy-stage
displayName: 'Deploy Stage'
failFast: false
steps: #构建步骤配置
- step: npmbuild@1 #采用NPM编译环境
name: deploy-step
displayName: 'Deploy Step'
inputs: #构建输入参数设定
nodeVersion: 14.15 #指定 node 环境版本为 14.15
goals: | #安装依赖,配置相关主题、部署参数并发布部署
node -v
npm -v
npm install -g @serverless-devs/s
s co nfig add --AccountID $ACCOUNTID --AccessKeyID $ACCESSKEYID --AccessKeySecret $ACCESSKEYSECRET -a default
s 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
与 Jenkins 的集成
jenkins-alicloud-account-id : 阿里云 accountId
jenkins-alicloud-access-key-id : 阿里云 accessKeyId
jenkins-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 bash
echo $(pwd)
curl -o- -L http://cli.so/install.sh | bash
source ~/.bashrc
echo $ALICLOUD_ACCOUNT_ID
s 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 here
npm install -g @serverless-devs/s
s config add --AccountID ${ACCOUNTID} --AccessKeyID ${ACCESSKEYID} --AccessKeySecret
${ACCESSKEYSECRET} -a default
s 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 应用的可观测性
新书推荐
点击下方免费获取产品手册!
评论