You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline部署Serverless Framework到AWS:凭证配置及登录问题求助

解决Azure DevOps中Serverless Framework部署的凭证问题

问题根源分析

你遇到的两个错误本质是两个独立的凭证配置问题:

  1. "AWS provider credentials not found":Serverless Framework部署到AWS需要AWS自身的访问凭证,你仅配置了Serverless Dashboard的密钥,缺失AWS的身份凭证。
  2. "You are not currently logged in":添加org和app配置后,Serverless需要关联到Dashboard组织,但流水线环境未正确读取或使用SERVERLESS_ACCESS_KEY完成认证。

具体解决步骤

1. 在Azure DevOps中补充保密变量

除了已有的SERVERLESS_ACCESS_KEY,还需要添加AWS的访问凭证变量:

  • AWS_ACCESS_KEY_ID:你的AWS账号访问密钥ID
  • AWS_SECRET_ACCESS_KEY:你的AWS账号秘密访问密钥
    (这两个凭证可在AWS IAM控制台中生成,需确保拥有部署Serverless服务的权限)

2. 修改Azure Pipelines配置文件

更新azure-pipelines.yml,确保环境变量能被Serverless Framework读取:

trigger:
- main

pool:
  vmImage: ubuntu-latest

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '16.x'
  displayName: 'Install Node.js'

- script: |
    npm install
    npm install -g serverless
    serverless deploy
  displayName: 'Install dependencies and deploy'
  env:
    # 传递Serverless Dashboard密钥
    SERVERLESS_ACCESS_KEY: $(SERVERLESS_ACCESS_KEY)
    # 传递AWS访问凭证
    AWS_ACCESS_KEY_ID: $(AWS_ACCESS_KEY_ID)
    AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY)

Serverless Framework会自动读取这些环境变量,无需额外执行serverless login命令。

3. 确认serverless.ts配置正确性

确保org和app字段与你在Serverless Dashboard中创建的组织、应用名称完全一致:

import type { AWS } from '@serverless/typescript';

const serverlessConfiguration: AWS = {
  service: 'api-hello-service',
  frameworkVersion: '3',
  org: '你的组织名称',
  app: '你的应用名称',
  provider: {
    name: 'aws',
    runtime: 'nodejs16.x',
    region: 'us-east-1' // 按需替换成你的AWS区域
  },
  // 其他服务配置...
};

module.exports = serverlessConfiguration;

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 01:15:53