我在Github Action上遇到这个有线问题,该问题正在使用Objection.JS ORM部署NodeJS。它可以正常工作,我已经为其写了迁移数据库的命令。
"migrate": "knex migrate:latest --env production"
如果我使用ssh进入服务器并运行以上命令,则可以正常工作,但是我有执行相同命令的GitHub操作,但操作失败。我想这可能与环境变量有关。从GitHub操作执行的命令是否可以访问环境变量?
这是Github Action中的错误:
out: > knex migrate:latest --env production
135
out:
136
out: Requiring external module ts-node/register
137
out: Using environment: production
138
err: error: password authentication failed for user "***"
139
err: at Parser.parseErrorMessage (/home/***/odin/odin/node_modules/pg-protocol/src/parser.ts:357:11)
140
err: at Parser.handlePacket (/home/***/odin/odin/node_modules/pg-protocol/src/parser.ts:186:21)
141
err: at Parser.parse (/home/***/odin/odin/node_modules/pg-protocol/src/parser.ts:101:30)
142
err: at Socket.<anonymous> (/home/***/odin/odin/node_modules/pg-protocol/src/index.ts:7:48)
143
err: at Socket.emit (events.js:315:20)
144
err: at addChunk (_stream_readable.js:295:12)
145
err: at readableAddChunk (_stream_readable.js:271:9)
146
err: at Socket.Readable.push (_stream_readable.js:212:10)
147
err: at TCP.onStreamRead (internal/stream_base_commons.js:186:23)
148
err: npm ERR! code ELIFECYCLE
149
err: npm ERR! errno 1
150
err: npm ERR! app@1.0.0 migrate: `knex migrate:latest --env production`
这是GitHub动作脚本:
script: |
cd ~/app/app
git pull origin master
npm install --production
npm run build
npm run migrate
pm2 restart digthemes
答案 0 :(得分:0)
这看起来不像是膝关节问题。您的环境变量有问题,根据错误消息,密码或用户设置不正确。
关于 GA 中的环境变量,请参见:https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables