非交互式环境下配置Keystone项目自动更新Schema的GitHub Action
解决Keystone.js部署时自动更新Prisma/GraphQL Schema的问题
你可以通过以下几种方式让GitHub Action自动响应schema更新提示:
用
yes命令自动输入确认
在构建命令前加上yes |,让系统自动输出"yes"来响应交互式提示。比如把原来的构建命令改成:yes | npm run build设置Keystone专属环境变量
Keystone.js提供了KEYSTONE_AUTO_UPDATE_SCHEMAS环境变量,设为true就能跳过提示直接更新。在GitHub Action的工作流文件里添加环境变量配置:jobs: deploy: runs-on: ubuntu-latest env: KEYSTONE_AUTO_UPDATE_SCHEMAS: true steps: # 其他步骤(拉代码、安装依赖等) - name: Build Keystone server run: npm run build修改Keystone配置文件
直接在项目的keystone.ts(或keystone.config.ts)配置里开启自动更新:export default config({ // 现有配置项... autoUpdateSchemas: true, });这样不管是本地还是CI/CD环境,都会自动更新schema,不会弹出交互提示。
推荐用环境变量的方式,不需要修改代码,能灵活控制CI/CD环境的行为。
内容的提问来源于stack exchange,提问作者arthur
相关产品推荐
相关产品推荐

