我想通过Travis CI部署到Heroku。我正在使用docker-compose在本地构建和启动Web应用
这是我的docker-compose.yml
version: '3'
services:
nginx:
image: nginx:1.13
ports:
- 80:80
volumes:
- ./:/var/www/html
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
depends_on:
- php
php:
image: php:7.2-fpm
volumes:
- ./:/var/www/html
要在本地启动,我只需启动命令docker-compose up -d
这是我的travis CI配置
language: php
php:
- '7.2'
deploy:
provider: heroku
api_key:
secure: bkYGtlvRopIGCRPCKQxPtvwEnQsfTBaQmWIlaEWoKun/7fHbcHjcyjiwvBVemjcbwXaH8BSVz4HoMhif9P1svgX+If5v7SBuCghuMkrTtGJbhLM7bcdI2gOCG/6dvrPpI0GTEuZS91KqYoiBJ/81j9vmtZh2UCguO6MW98f69pUin4+ApSNwNA3TGde0Q5ZAIoarOfZA+RSuivraywsli1arNiEojhXTU7jqH8VvD8rJP/kRdisdhLHd+FXH+LsZoEoG6zVlLlKh0Oy3+V3N+919KQDtfCISBEesq+liAE5jn2NIyXt/9GN7oSDojEG1FeCSmNyZtmLffokzkGmJjuO53s57kzE7l6Y5qh1GVJ/6KEiyn67ZtK3vJHiFjZejKNMzbStKVjggOI8c5Zp48sTiLfzjgJcPtF+4M//b3SSkk9b9YTrEYnhNt9G7sSqJhgyDXyOHImephjilsLGRhpLvacjbctU16mU1yndYeoKml8KlmoB4fVQjqQwblZNLr1EUU7M9EEY+D3UZ1MWRFmSAaR6oMmvc73WeMzCEtlqtMwEuUKr3FnXUBPbC501RTgiYpHVIG058NEWyysnYxmxtnWATiVmmu1Cz4pQbIUDsmuXesMnUmpCcF4mIltHcnUC5PrNDBAKl3brEi1og9ORPtf9cYRK6/a2TgIW02gU=
services: docker
env:
- DOCKER_COMPOSE_VERSION=1.4.2
before_install:
- docker -v
- docker-compose -v
- docker-compose up -d
当我将提交推送到Git时,在Travis中构建传递正确的代码。 http://i.imgur.com/PSnvMgk.png
链接到网络应用https://github.com/Carsak/octo-weather
现在,在Travis构建通过之后如何将构建推送到Heroku?
Heroku文档https://devcenter.heroku.com/articles/container-registry-and-runtime#using-a-ci-cd-platform只是说“只需进行身份验证,输入电子邮件,用户名和密码”即可。 在哪里输入或写入此凭据?
Travis Docs说:https://docs.travis-ci.com/user/docker/#pushing-a-docker-image-to-a-registry “只需通过docker登录进行身份验证”
Heroku文档说https://devcenter.heroku.com/articles/local-development-with-docker-compose#pushing-your-containers-to-heroku “仅按前端!!!不要按后端,而要使用Heroku后端图像。”