我正在使用Travis-CI将Docker容器中用python (flask)编写的web应用程序部署到Heroku。如何设置travis.yml自动将镜像部署到Heroku?
我可以登录到Docker并自动将图像推送到那里。
我的.travis.yml:
language: python
sudo: required
services:
- docker
before_install:
- docker build -t quarkus7/which-tram .
script:
- docker run quarkus7/which-tram python test.py
after_success:
- bash docker_hub_push
- docker tag quarkus7/which-tram registry.heroku.com/$HEROKU_APP_NAME/web
- docker push registry.heroku.com/$HEROKU_APP_NAME/web
- ( echo "$HEROKU_USERNAME" echo "$HEROKU_PASSWORD" ) | heroku login -i
- heroku container:login
- heroku container:release web --app $HEROKU_APP_NAME然而,我在Travis日志中得到一个错误:
$ ( echo "$HEROKU_USERNAME" echo "$HEROKU_PASSWORD" ) | heroku login -i
heroku: Enter your login credentials
Email: Password: sh: 1: read: Illegal option -s你知道如何修改.travis.yml才能登录到Heroku并释放容器吗?
发布于 2019-04-11 10:01:45
有一些方法:Script "heroku login" in a CI environment。我想你可以试试Method 2: Environment Variable。
发布于 2020-07-20 14:25:23
这是您登录以推送到heroku注册表的方式:
.travis.yml:
before_install:
- wget -qO- https://toolbelt.heroku.com/install.sh | sh #installed heroku CLI
- docker login -u "$HEROKU_USERNAME" --password=$(heroku auth:token) registry.heroku.com #logged in$HEROKU_USERNAME是你的Heroku电子邮件地址。
然后,像这样使用heroku container:release进行部署:
deploy:
provider: script
script:
heroku container:release web --app your-app-namehttps://stackoverflow.com/questions/55615968
复制相似问题