我们正在github上配置一个公共项目。 我们希望travis作业在每个PR上进行测试和构建,并仅在主服务器上已接受的MR上进行部署(npm发布)。
我们已经尝试过该配置,但是它不起作用:
language: node_js
node_js:
- 10.16.0
before_script:
- npm run build
deploy:
provider: npm
email: "myemail@example.com"
api_key:
secure: "our secure key that is irrelevant for this question"
after_deploy:
- ./script/updateNpmVersion.sh
on:
branch: master
和./script/updateNpmVersion.sh
#!/bin/bash
git pull develop
npm version minor
git add package.json
git commit -m "bump npm version"
git push origin develop
但是它不起作用。基本上从不调用Deploy。
答案 0 :(得分:0)
我认为存在语法问题。 after_deploy
步骤完成后,应执行deploy
脚本。另外,您可以尝试在配置on
密钥时提供应用于部署的特定存储库。
另一件事,您可能需要授予执行updateNpmVersion.sh
脚本所需的权限。因此,您最终的yml
文件应该看起来像这样
language: node_js
node_js:
- 10.16.0
before_script:
- npm run build
- chmod +x ./script/updateNpmVersion.sh
deploy:
provider: npm
email: "myemail@example.com"
api_key:
secure: "our secure key that is irrelevant for this question"
on:
repo: OWNER_NAME/REPO_NAME
branch: master
after_deploy:
- ./script/updateNpmVersion.sh