在过去的几天里,我尝试为我正在开发的一个Web应用程序设置Travis CI。
我将我的应用程序分为三个子模块。这个子模块位于我的存储库中的三个不同目录中。
现在我想将每个子模块部署到另一个Heroku实例。
项目文件夹结构:
根文件夹 - 第1单元(React app) - 建立 - 第2单元(React app) - 建立 - 模块3(NodeJS,Express Rest API)
三个子模块中的两个是使用create-react-app创建的React应用程序。构建过程在Travis上运行良好。添加后
我的配置中的“skip_cleanup:true”标志我在构建文件夹中找到了我导出的React应用程序。
现在我想将“模块1(React app)/ build / ”和“Module 2(React app)/ build / ”的内容部署到两个不同的Heroku实例。
“模块3(NodeJS,Express Rest API)/ *”的内容进入第三个Heroku实例。
这是我的理论尝试。
我设置了我的.travis.yml并以这样的结尾结束:
language: node_js
node_js:
- stable
cache:
yarn: true
directories:
- node_modules
script:
- yarn run test
after_success:
- yarn run build
deploy:
provider: heroku
api_key: api_key
app: teamx-administration
file_glob: true
file: teamx-administration/build/*
skip_cleanup: true
on:
repo: lusu007/TeamXWebApp
branch: develop
此配置的问题在于Travis将所有3个模块的整个应用程序部署到Heroku上的teamx管理应用程序,而不仅仅是我使用“file:teamx-administration / build / *”标志指定的文件夹。 我不知道如何配置Travis为我这样做。
我希望你的团队成员可以帮我解决这个问题。
此外,我问我如何部署我的Webapp的其他两个模块的问题。我可以为Heroku添加另一个提供程序块,并将所有需要的信息添加到我的.travis.yml中吗?
经过一段时间后,我从“heroku auth:token”获得的Heroku API在几个小时后就过期了。如何获得一个有更长的到期时间的密钥,因为几个小时后获得一个新密钥非常令人失望。
我期待听到你的声音。