Розгортання до Heroku за допомогою git на bitbucket


83

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

Чи можу я це зробити за допомогою клієнта github та інструментальної стрічки heroku. Чи вдасться? Github чудовий, але я не хочу, щоб усі бачили мій код, і я не хочу платити за приватне репо, оскільки це невеликий проект.


1
як ви точно вирішили свою проблему? :)
Маттіас

1
Це насправді дуже просто. Просто створіть репо у біт-сегменті та змініть своє джерело у файлі конфігурації на репо-репо, і ви зможете використовувати бітбетк для вмісту своїх сердець.
Wasswa Samuel

1
В якому конфігураційному файлі? Моя конкретна проблема полягає в наступному .. stackoverflow.com/questions/18127761/…
Маттіас

Відповіді:


65

Розгортання на Heroku має працювати незалежно від того, де ви розміщуєте свій код, оскільки Heroku CLI додає власний віддалений git для розгортання. Насправді ви можете навіть git pullз Heroku, тому ви можете технічно використовувати Heroku як приватне сховище git (хоча не рекомендується). Що стосується використання клієнта GitHub для підключення до bitbucket, просто змініть віддалений репозиторій на URL-адресу, яку надає bitbucket на вкладці налаштувань клієнта.


5
де мені слід змінити віддалену URL-адресу?
MaxySpark

Хоча в документах Heroku є про це сказане: "Heroku надає службу git в першу чергу для розгортання, і можливість клонування з неї пропонується як зручність. Ми настійно рекомендуємо зберігати ваш код в іншому сховищі git, такому як GitHub і сприймати це як канонічне ". ( джерело )
Fabien Snauwaert

@FabienSnauwaert Погоджуюсь. Я точно не рекомендую використовувати Heroku git як основний VCS. Я подивлюсь, чи можу я оновити свою відповідь, щоб це пояснити. Дякую за наведену вище цитату
Ксав'є

35

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


15

Прислухатися до Стефана - це чудово працює. Ось що я зробив:

  1. Я справді був розчарований тим, як мій щоденник перезавантажував WP, представляючи кожному, хто переходив на http://blog.example.com, екран налаштування, оскільки там не було wp-config.php.
  2. Увійшов до bitbucket.org.
  3. Пов’язав мої акаунти bitbucket та github.
  4. Розділив моє репозиторій "wp-blog" від github, який я раніше прив'язував до мого пульта дистанційного керування.
  5. Клоновано в цю нову вилку ("git clone https: //myname@bitbucket.org/myname/wp-blog_config.git ").
  6. Додано належний wp-config.php.
  7. Додано мій heroku віддалений з цієї нової вилки ("git remote add heroku git@heroku.com: adjective-noun-1234.git")
  8. Здійснено та розгорнуто на heroku ("git push heroku master: master")

15

Зараз Bitbucket підтримує Pipelines , що має полегшити розгортання на 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

Ви отримали це працює? Я все ще не можу натиснути на heroku :(
Алан Донізете,

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
як це пов'язано з bitbucket?
Лоран Мішель,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.