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测试后再部署到生产