gitlab.com에서 호스팅되는 Rails 앱이 있으며이 가이드에 따라 heroku에 배포하도록 구성하고 있습니다. http://docs.gitlab.com/ce/ci/examples/test-and-deploy-ruby-application- to-heroku.html . 잘 작동합니다.
제 질문은 heroku에 배포 할 때마다 마이그레이션을 어떻게 실행할 수 있습니까? CLI를 통해 배포 할 때 일반적으로 다음을 수행합니다.
git push heroku master && heroku run rake db:migrate
하지만 gitlab-ci.yml을 사용하면이 작업을 수행하는 방법에 대한 단서가 없습니다 ...
GitLab CI 프로세스에서 Heroku CLI의 모든 기능을 사용하려는 경우 (어떤 이유로 마이그레이션이 실패 할 경우 빌드 실패 포함) Heroku CLI를 설치하고 상태를 제공하는이 접근 방식을 시도 할 수도 있습니다. Heroku 명령의 코드는 물론 명령 줄 출력도 GitLab에 반환됩니다. heroku run
명령 줄에서 자격 증명없이 사용 HEROKU_API_KEY
하려면 해당 앱에 대한 액세스 권한이있는 키로 환경 변수를 설정해야합니다.
before_script:
- echo "deb http://toolbelt.heroku.com/ubuntu ./" > /etc/apt/sources.list.d/heroku.list
- wget -O- https://toolbelt.heroku.com/apt/release.key | apt-key add -
- apt-get update
- apt-get install -y heroku-toolbelt
- gem install dpl
stages:
- deploy
test_on_heroku:
type: deploy
script:
- dpl --provider=heroku --app=my_heroku_app --api-key=$HEROKU_API_KEY
- heroku run <your command here> --exit-code --app my_heroku_app
실제로 Heroku 인스턴스에서 테스트를 실행하여 환경이 정확히 동일하다는 것을 확인합니다. 이것이 정말 편리합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다