Wdrażanie do Heroku przy użyciu git na bitbucket


83

Chcę hostować moje źródło na bitbucket przy użyciu git, ponieważ oczywiście otrzymuję bezpłatne prywatne repozytorium i chcę hostować moją aplikację na heroku przy użyciu kodu źródłowego z bitbucket.

Czy mogę to zrobić za pomocą klienta github i paska narzędzi Heroku. Czy to zadziała? Github jest świetny, ale nie chcę, aby wszyscy widzieli mój kod i nie chcę płacić za prywatne repozytorium, ponieważ jest to mały projekt.


1
jak dokładnie rozwiązałeś swój problem? :)
— Matthias

1
W rzeczywistości jest to bardzo łatwe. Po prostu utwórz repozytorium w segmencie bitów i zmień swoje pochodzenie w pliku konfiguracyjnym na źródło repozytorium, a możesz używać bitbucket do treści swoich serc.
— Wasswa Samuel

1
W którym pliku konfiguracyjnym? Mój konkretny problem jest następujący ... stackoverflow.com/questions/18127761/
— Matthias

Odpowiedzi:


65

Wdrażanie do Heroku powinno działać niezależnie od tego, gdzie hostujesz swój kod, ponieważ Heroku CLI dodaje własnego pilota git dla celów wdrożeń. W rzeczywistości możesz nawet git pullz Heroku, więc technicznie możesz użyć Heroku jako prywatnego repozytorium git (choć nie jest to zalecane). Jeśli chodzi o używanie klienta GitHub do łączenia się z bitbucket, po prostu zmień zdalne repozytorium na adres URL dostarczony przez bitbucket w zakładce ustawień klienta.


5
gdzie należy zmienić zdalny adres URL?
— MaxySpark

Chociaż dokumentacja Heroku ma do powiedzenia w tej sprawie: „Heroku zapewnia usługę git głównie do wdrażania, a możliwość klonowania z niej jest oferowana jako wygoda. Zdecydowanie zalecamy przechowywanie kodu w innym repozytorium git, takim jak GitHub i traktuj to jako kanoniczne ”. ( źródło )
— Fabien Snauwaert,

@FabienSnauwaert Zgadzam się. Zdecydowanie nie polecam używania Heroku git jako podstawowego VCS. Zobaczę, czy uda mi się zaktualizować swoją odpowiedź, aby to wyjaśnić. Dzięki za powyższy cytat
— Xavier

35

Aby dodać do odpowiedzi zeiv, która powiedziała, że ​​to powinno działać: mogę potwierdzić, że działa. Używamy bitbucket do hostingu git i wdrażamy na heroku. Wydaje się, że nie możesz dodać repozytorium bitbucket do konta heroku, aby wyświetlić historię zatwierdzeń, ta funkcja wydaje się obecnie ograniczona do github (wina Heroku ;-)


15

Wbijanie się ze Stefanem - to działa doskonale. Oto co zrobiłem:

  1. Byłem naprawdę sfrustrowany sposobem, w jaki mój blog WP był codziennie resetowany, prezentując każdemu, kto przeszedł na http://blog.example.com , ekran konfiguracji, ponieważ nie było wp-config.php.
  2. Zalogowano na bitbucket.org.
  3. Połączono moje konta Bitbucket i Github.
  4. Rozwidliłem moje repozytorium „wp-blog” z github, które wcześniej powiązałem z moim pilotem heroku.
  5. Sklonowany do tego nowego rozwidlenia („git clone https: //myname@bitbucket.org/myname/wp-blog_config.git ”).
  6. Dodano poprawny plik wp-config.php.
  7. Dodano mojego pilota heroku z poziomu tego nowego rozwidlenia („git remote add heroku git@heroku.com: adjective-noun-1234.git”)
  8. Zaangażowany i wdrożony w heroku („git push heroku master: master”)

15

Bitbucket obsługuje teraz Pipelines , co powinno ułatwić wdrożenie na Heroku. Wystarczy postępować zgodnie z tym samouczkiem: https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

My, bitbucket-pipelines.ymlaby po prostu przesunąć gałąź master do Heroku, wygląda następująco:

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

czy osiągnąłeś to działa? Nadal nie mogę naciskać na heroku :(
— Alan Donizete

nvm, tylko literówka, której nie zauważyłem :( ... haha, dzięki
— Alan Donizete

To działa, ale upewnij się, że używasz klucza API z dashboard.heroku.com/account , a nie zheroku auth:token
— katzmopolitan


3

Uważam, że ta strona jest pomocna

Zainstaluj pasek narzędzi Heroku

Jeśli jeszcze tego nie zrobiłeś, zaloguj się na swoje konto Heroku i postępuj zgodnie z instrukcjami, aby utworzyć nowy klucz publiczny SSH.

$ heroku login

Utwórz nowe repozytorium Git

Zainicjuj repozytorium git w nowym lub istniejącym katalogu

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

Wdróż swoją aplikację

Zatwierdź swój kod w repozytorium i wdróż go w Heroku za pomocą Git.

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

Istniejące repozytorium Git

W przypadku istniejących repozytoriów wystarczy dodać pilota heroku

$ heroku git:remote -a PROJECTNAME

6
jaki to ma związek z bitbucket?
— Laurent Michel
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.