Развертывание в Heroku с помощью git на bitbucket

83

Я хочу разместить свой источник на bitbucket с помощью git, потому что я, очевидно, получаю бесплатное частное репо, и я хочу разместить свое приложение на heroku, используя исходный код из bitbucket.

Могу ли я сделать это с помощью клиента github и инструментария heroku. Это будет работать? Github великолепен, но я не хочу, чтобы все видели мой код, и я не хочу платить за частное репо, потому что это небольшой проект.

Вассва Самуэль
источник
1
как именно ты решил свою проблему? :)
Маттиас
1
На самом деле это очень просто. Просто создайте репо в битовом ведре и измените свое происхождение в файле конфигурации на репо, и вы можете использовать битбакет для своего сердца.
Wasswa Samuel 08
1
В каком файле конфигурации? Моя конкретная проблема заключается в следующем .. stackoverflow.com/questions/18127761/…
Маттиас

Ответы:

65

Развертывание на Heroku должно работать независимо от того, где вы размещаете свой код, поскольку Heroku CLI добавляет собственный git remote для развертывания. Фактически, вы можете даже git pullиз Heroku, так что вы можете технически использовать Heroku в качестве частного репозитория git (хотя и не рекомендуется). Что касается использования клиента GitHub для подключения к битбакету, просто измените удаленный репозиторий на URL-адрес, предоставленный битбакетом на вкладке настроек клиента.

Ксавье
источник
5
где мне изменить удаленный URL?
MaxySpark 01
Хотя в документации Heroku есть следующее заявление по этому поводу: «Heroku предоставляет службу git в первую очередь для развертывания, и возможность клонирования из нее предлагается для удобства. Мы настоятельно рекомендуем вам хранить свой код в другом репозитории git, таком как GitHub и считать это каноническим ". ( источник )
Fabien Snauwaert
@FabienSnauwaert Согласен. Я определенно не рекомендую использовать Heroku git в качестве основного VCS. Я посмотрю, смогу ли я обновить свой ответ, чтобы прояснить это. Спасибо за приведенную выше цитату
Ксавье
35

Просто чтобы добавить к ответу zeiv, который сказал, что это должно работать: я могу подтвердить, что это так. Мы используем bitbucket для хостинга git и развертываем его на heroku. Чего вы, похоже, не можете сделать, так это добавить репо битбакета в свою учетную запись heroku, чтобы отображалась история фиксации, эта функция, похоже, в настоящее время ограничена github (ошибка heroku ;-)

Стефан
источник
15

Присоединяйтесь к Стефану - это отлично работает. Вот что я сделал:

  1. Я был очень разочарован тем, как мой блог WP ежедневно сбрасывался, представляя всем, кто переходил на http://blog.example.com , экран настройки, потому что не было wp-config.php.
  2. Авторизовался на bitbucket.org.
  3. Связал мои учетные записи bitbucket и github.
  4. Разветвил репозиторий "wp-blog" с github, который я ранее связал с моим пультом heroku.
  5. Клонирован в эту новую вилку («git clone https: //myname@bitbucket.org/myname/wp-blog_config.git »).
  6. Добавлен правильный wp-config.php.
  7. Добавлен мой удаленный герой из этой новой вилки ("git remote add heroku git@heroku.com: adjective-noun-1234.git")
  8. Зафиксировано и развернуто в heroku ("git push heroku master: master")
манжета
источник
15

Bitbucket теперь поддерживает конвейеры , что должно упростить развертывание на Heroku. Просто следуйте этому руководству: https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

Мой bitbucket-pipelines.ymlпросто отправить основную ветку в Heroku выглядит так:

image: node:6
clone:
  depth: full
pipelines:
  branches:
    master:
      - step:
          script:
            - git push -f https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git $BITBUCKET_BRANCH
Карл Адлер
источник
вы добились его работы? Я все еще не могу нажать на героку :(
Алан Донизете
nvm, просто опечатка, которую я не заметил :( ... ха-ха, спасибо
Алан Донизете
Это работает, но убедитесь, что вы используете ключ API с dashboard.heroku.com/account , а не отheroku auth:token
katzmopolitan
4

Если вы не хотите работать в командной строке и все время нажимать на heroku и беспокоиться о поддержке SSH-ключей (что довольно неприятно, если вы работаете с разными компьютерами), то следуйте этому руководству о том, как настроить непрерывную интеграцию с использованием кодов. Это бесплатный плагин на heroku.

http://blog.codeship.io/2014/04/29/continuous-deployment-heroku-bitbucket-nodejs.html

Питер Вентер
источник
3

Я нашел эту страницу полезной

Установите Heroku Toolbelt

Если вы еще этого не сделали, войдите в свою учетную запись Heroku и следуйте инструкциям по созданию нового открытого ключа SSH.

$ heroku login

Создать новый репозиторий Git

Инициализировать репозиторий git в новом или существующем каталоге

$ cd my-project/
$ git init
$ heroku git:remote -a PROJECTNAME

Разверните ваше приложение

Зафиксируйте свой код в репозитории и разверните его в Heroku с помощью Git.

$ git add .
$ git commit -am "make it better"
$ git push heroku master

Существующий репозиторий Git

Для существующих репозиториев просто добавьте пульт heroku

$ heroku git:remote -a PROJECTNAME
Карим Самир
источник
6
как это связано с битбакетом?
Laurent Michel