从Github Action无法进行Knex.js迁移

时间:2020-09-19 14:54:17

标签: node.js knex.js github-actions

我在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

1 个答案:

答案 0 :(得分:0)

这看起来不像是膝关节问题。您的环境变量有问题,根据错误消息,密码或用户设置不正确。

关于 GA 中的环境变量,请参见:https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables