Bereitstellung auf Heroku mit git on bitbucket

81

Ich möchte meine Quelle mit git auf bitbucket hosten, weil ich offensichtlich ein kostenloses privates Repo bekomme und meine App mit dem Quellcode von bitbucket auf heroku hosten möchte.

Kann ich das mit dem Github-Client und dem Heroku-Toolbelt machen? Wird es funktionieren? Github ist großartig, aber ich möchte nicht, dass jeder meinen Code sieht und ich möchte nicht für ein privates Repo bezahlen, weil es ein kleines Projekt ist.

Wasswa Samuel
quelle
1
Wie haben Sie Ihr Problem genau gelöst? :)
Matthias
1
Es ist eigentlich sehr einfach. Erstellen Sie einfach ein Repo im Bit-Bucket und ändern Sie Ihren Ursprung in der Konfigurationsdatei in den des Repo. Sie können Bitbucket nach Herzenslust verwenden.
Wasswa Samuel
1
In welcher Konfigurationsdatei? Mein konkretes Problem ist folgendes .. stackoverflow.com/questions/18127761/…
Matthias

Antworten:

64

Die Bereitstellung auf Heroku sollte unabhängig davon funktionieren, wo Sie Ihren Code hosten, da die Heroku-CLI für Bereitstellungen eine eigene Git-Fernbedienung hinzufügt. Sie können sogar git pullvon Heroku aus arbeiten, sodass Sie Heroku stattdessen technisch als privates Git-Repository verwenden können (obwohl dies nicht empfohlen wird). Wenn Sie mit dem GitHub-Client eine Verbindung zu Bitbucket herstellen möchten, ändern Sie einfach das Remote-Repository in die von Bitbucket auf der Registerkarte "Einstellungen" des Clients angegebene URL.

Xavier
quelle
5
Wo soll ich die Remote-URL ändern?
MaxySpark
Obwohl die Heroku-Dokumente Folgendes zu diesem Thema zu sagen haben: "Heroku bietet den Git-Service hauptsächlich für die Bereitstellung an, und die Möglichkeit, daraus zu klonen, wird als Annehmlichkeit angeboten. Wir empfehlen dringend, Ihren Code in einem anderen Git-Repository wie GitHub und zu speichern Behandle das als kanonisch. " ( Quelle )
Fabien Snauwaert
@ FabienSnauwaert zustimmen. Ich empfehle definitiv nicht, Heroku Git als primäres VCS zu verwenden. Ich werde sehen, ob ich meine Antwort aktualisieren kann, um dies zu klären. Vielen Dank für das obige Zitat
Xavier
35

Nur um Zeivs Antwort hinzuzufügen, wer sagte, dass es funktionieren sollte: Ich kann bestätigen, dass es funktioniert. Wir verwenden Bitbucket für das Git-Hosting und stellen es für Heroku bereit. Was Sie scheinbar nicht tun können, ist, Ihr Bitbucket-Repo zu Ihrem Heroku-Konto hinzuzufügen, damit der Commit-Verlauf angezeigt wird. Diese Funktion scheint derzeit auf Github beschränkt zu sein (Herokus Fehler ;-)

Stefan
quelle
15

Mit Stefan mithalten - das funktioniert perfekt. Folgendes habe ich getan:

  1. Ich war sehr frustriert darüber, wie mein WP-Blog täglich zurückgesetzt wurde, und präsentierte jedem, der zu http://blog.example.com navigierte, einen Setup-Bildschirm, da es keine wp-config.php gab.
  2. Bei bitbucket.org angemeldet.
  3. Verknüpft meine Bitbucket & Github-Konten.
  4. Gabelte mein "wp-blog" Repo von Github, das ich zuvor mit meiner Heroku-Fernbedienung verknüpft hatte.
  5. In diese neue Gabel geklont ("Git-Klon https: //[email protected]/myname/wp-blog_config.git ").
  6. Eine richtige wp-config.php hinzugefügt.
  7. Meine Heroku-Fernbedienung aus dieser neuen Gabelung hinzugefügt ("Git-Fernbedienung Heroku hinzufügen [email protected]: Adjektiv-Nomen-1234.git")
  8. Engagiert und für Heroku eingesetzt ("Git Push Heroku Master: Master")
Handgewebesohle
quelle
14

Bitbucket unterstützt jetzt Pipelines , was die Bereitstellung auf Heroku ziemlich einfach machen sollte. Folgen Sie einfach diesem Tutorial: https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

Mein bitbucket-pipelines.ymlHauptzweig nach Heroku zu schieben sieht folgendermaßen aus:

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
quelle
Hast du es geschafft? Ich kann immer noch nicht zu Heroku drängen :(
Alan Donizete
nvm, nur ein Tippfehler, den ich nicht bemerkt habe :( ... haha, danke
Alan Donizete
Dies funktioniert, aber stellen Sie sicher, dass Sie den API-Schlüssel von dashboard.heroku.com/account verwenden , nicht vonheroku auth:token
katzmopolitan
4

Wenn Sie nicht in der Befehlszeile arbeiten und die ganze Zeit auf Heroku drücken möchten und sich Gedanken über die Wartung der SSH-Schlüssel machen möchten (ziemlich ärgerlich, wenn Sie an verschiedenen Boxen arbeiten), befolgen Sie diese Anleitung zum Einrichten der kontinuierlichen Integration mithilfe von Codeship. Es ist ein kostenloses Plugin für Heroku.

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

Pieter Venter
quelle
2

Ich fand diese Seite hilfreich

Installieren Sie den Heroku Toolbelt

Wenn Sie dies noch nicht getan haben, melden Sie sich bei Ihrem Heroku-Konto an und befolgen Sie die Anweisungen, um einen neuen öffentlichen SSH-Schlüssel zu erstellen.

$ heroku login

Erstellen Sie ein neues Git-Repository

Initialisieren Sie ein Git-Repository in einem neuen oder vorhandenen Verzeichnis

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

Stellen Sie Ihre Anwendung bereit

Übernehmen Sie Ihren Code in das Repository und stellen Sie ihn mithilfe von Git in Heroku bereit.

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

Vorhandenes Git-Repository

Fügen Sie für vorhandene Repositorys einfach die Heroku-Fernbedienung hinzu

$ heroku git:remote -a PROJECTNAME
Karim Samir
quelle
2
Wie hängt das mit Bitbucket zusammen?
Laurent Michel