← 返回项目详情
此成果详情页已在新标签打开。查看完成后,可关闭当前标签返回原项目页,也可以点击“返回项目详情”。网页不会强制关闭浏览器标签。
成果详情 / 数据、代码与可复现资产
GitHub Actions OIDC 部署示例
原始文件名oidc-workflow-sample.yml
- 内容说明
- 展示公开结构化示例中的权限声明、Node 设置、validate/build、dist/index.html 门禁、OIDC 登录和 upload-batch 步骤;真实资源值使用占位符。
- 能够证明
- 支持工作流采用短期 OIDC 身份、最小化权限表达和构建后上传顺序。
- 不能证明
- 不证明示例可直接用于任意仓库、不包含真实 secret 值,也不证明当前工作流配置仍在云端运行。
- 许可说明
- MIT License(自行编写的 workflow 示例)
- 来源和脱敏说明
- 根据本地 workflow 结构生成的公开 structural sample,已使用占位符且不含真实账户或资源值。
预览
站内查看方式
以 YAML 纯文本预览,HTML 转义后不执行 workflow。
name: Deploy static portfolio (public sample)
on:
push:
branches: [master]
workflow_dispatch:
permissions:
contents: read
id-token: write
concurrency:
group: static-portfolio-${{ github.ref }}
cancel-in-progress: false
jobs:
deploy:
runs-on: ubuntu-latest
env:
AZURE_CORE_OUTPUT: none
steps:
- name: Checkout
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '22.23.2'
cache: npm
cache-dependency-path: package-lock.json
- name: Install dependencies
run: npm ci
- name: Validate
run: npm run validate
- name: Build
run: npm run build
- name: Verify build output
run: |
test -d dist
test -f dist/index.html
- name: Azure login
uses: azure/login@v3
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Upload to Azure Storage
run: |
az storage blob upload-batch \
--account-name <STORAGE_ACCOUNT_NAME> \
--destination '$web' \
--source dist \
--auth-mode login \
--overwrite true \
--only-show-errors
- name: Azure logout
if: always()
run: az logout
公开包完整性
SHA-256 摘要
9f19a87140de1df332ad93bbc37478ec776b8bdebd40e9c4d0a2c6a11bc7e71f