拒绝使用travis-CI在GitHub中进行部署

时间:2018-07-20 15:20:01

标签: node.js github ssh continuous-integration travis-ci

我正在研究一个要在GitHub页面上发布的项目。为了使部署过程自动化,我使用了Travis CI。为此,我创建了一个 deploy.sh 文件,该文件具有以下代码。

# build
npm run docs:build

# navigate into the build output directory
cd docs/.vuepress/dist

# if you are deploying to a custom domain
# echo 'www.example.com' > CNAME


git add -A
git commit -m 'deploy'

# if you are deploying to https://<USERNAME>.github.io
# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master

# if you are deploying to https://<USERNAME>.github.io/<REPO>
 git push -f git@github.com:<username>/<repo>.git master:gh-pages

cd -

我已将其添加到下面的 .travis.yml 文件中

language: nodejs
node_js:
  - "lts/*"
before_script:
   - npm install
script:
 - bash ./scripts/deploy.sh

现在,当我将代码推送到主服务器时,在travis-ci.org中,它显示构建失败,并显示以下输出

Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
The command "bash ./scripts/deploy.sh" exited with 128.

我遵循了其他类似类型错误的答案,例如link,也遵循the way生成了ssh密钥并将其添加到我的GitHub帐户,但没有成功。如果您能帮助我,我将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

如果要通过ssh推送,则travis需要访问所生成的ssh密钥的私有部分。您想要做的是使用travis cli gem加密私钥,将其添加到您的仓库中,并在部署阶段再次对其进行解密并使用。 这是step-by-step