刚刚开始尝试无服务器 GitHub Action (https://github.com/serverless/github-action)。我的配置文件中有一些插件,因此需要遵循 README 中提供的指导。但是,我收到了
serverless not found
错误。我已经打开了一个问题,但尚未回复,所以我认为这将是我要询问的下一个社区。
配置文件:
name: Deploy main branch
on:
push:
branches:
- main
jobs:
deploy:
name: deploy
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- name: serverless deploy
uses: serverless/[email protected]
with:
args: -c "cd backend/endpoints && \
serverless plugin install -n serverless-deployment-bucket && \
serverless plugin install -n serverless-python-requirements && \
serverless plugin install -n serverless-iam-roles-per-function && \
serverless plugin install -n serverless-offline && \
serverless deploy"
entrypoint: /bin/sh
env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
但是出现以下错误:
/bin/sh: 1: serverless: not found
不确定
package.json
文件中到底需要包含什么内容?我添加了 serverless
作为部门,但仍然是同样的错误。
我遇到了类似的问题,只需在部署命令之前全局安装无服务器即可解决。
工作流程文件:
name: CI (Push)
on:
push:
branches: [main, cs_cancellation]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Setup the node js environment on runner instance
- name: Set up Node.js environment
uses: actions/setup-node@v3
with:
node-version: "18.x"
# Install required project dependencies on runner for smooth deployment
- name: Install dependencies
id: install-dependencies
uses: ./.github/install-dependencies
# Configure the aws-cli on runner instance
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
# Build and deploy the lambda functions packages
- name: Build and deploy lambda
id: build-and-deploy-lambda
uses: ./.github/deploy-packages
with:
lambda-function: ${{ matrix.lambda-function }}
environment-name: stage
依赖文件:
name: Install Dependencies
description: Install required project dependencies
runs:
using: 'composite'
steps:
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3
with:
node-version: 18.x
- name: Install serverless
run: pnpm install -g serverless
shell: bash
- name: Install dependencies
run: pnpm install
shell: bash