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.

Wasswa Samuel
źródło
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.

Xavier
źródło
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 ;-)

Stefan
źródło
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: //[email protected]/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 [email protected]: adjective-noun-1234.git”)
  8. Zaangażowany i wdrożony w heroku („git push heroku master: master”)
handwovensole
źródło
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:[email protected]/$HEROKU_APP_NAME.git $BITBUCKET_BRANCH
Karl Adler
źródło
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
Karim Samir
źródło
6
jaki to ma związek z bitbucket?
Laurent Michel