跳到主要内容

CI/CD 集成

Shoplazza CLI 支持 CI/CD 流水线中的非交互式认证和自动化。

CI/CD 中的认证

# 使用 UAT 令牌
shoplazza auth login --uat $SHOPLAZZA_UAT --store-domain $SHOPLAZZA_STORE

# 或设置环境变量(无需显式登录)
export SHOPLAZZA_UAT=your-token
export SHOPLAZZA_STORE=my-store.myshoplaza.com

GitHub Actions 示例

name: Deploy App
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm install -g shoplazza-cli
- run: shoplazza auth login --uat ${{ secrets.SHOPLAZZA_UAT }} --store-domain ${{ secrets.SHOPLAZZA_STORE }}
- run: shoplazza app deploy

GitLab CI 示例

deploy:
image: node:20
stage: deploy
script:
- npm install -g shoplazza-cli
- shoplazza auth login --uat $SHOPLAZZA_UAT --store-domain $SHOPLAZZA_STORE
- shoplazza app deploy
only:
- main

环境变量

变量说明
SHOPLAZZA_UAT用户访问令牌
SHOPLAZZA_STORE店铺域名

最佳实践

  • 安全存储密钥 — 使用 CI/CD 平台的密钥管理,切勿提交令牌
  • 最小作用域 — 只请求部署工作流所需的作用域
  • 固定 CLI 版本 — 使用 npm install -g [email protected] 确保可复现构建
  • 先预演 — 在预发布环境使用 --dry-run 测试后再部署到生产