Dies ist der erste Beitrag. Es mag schwierig sein, den Text zu lesen, aber danke.
Ich möchte automatisch auf Heroku bereitstellen, wenn ich es auf Git übertrage. Aber GitHub wurde von Microsoft erworben ~~ Wenn Sie nicht bezahlen, können Sie Dinge sehen, die Sie nicht sehen möchten, weil es öffentlich ist. BitBucket ist privat, also scheint es zu funktionieren.
Erstellen Sie ein beliebiges Projekt über die Heroku-CLI oder über den Webanwendungsverwaltungsbildschirm Notieren Sie sich den API-Schlüssel von Heroku (Sie können ihn im Bildschirm "Kontoeinstellungen" überprüfen).
Notieren Sie sich die URL mit Repository Create → Git Clone
Klicken Sie mit der rechten Maustaste → Neu → Mit neuem Spring Starter-Projekt erstellen Der danach erstellte Projektname lautet SampleProject, und der Variablenname in jeder Datei lautet ebenfalls SampleProject. Bitte lesen Sie es als Ihren Projektnamen.
SampleProject
├─src/main/java
├─src/main/resources
│ ├─application.properties
├─mvnw
├─mvnw.cmd
└─pom.xml
OK, wenn es die obige Paketstruktur hat Erstellen und ändern Sie von hier aus BitBucket- und Heroku-spezifische Dateien
system.Eigenschaften (neu)
java.runtime.version=1.8
Procfile (neu)
web: java -jar target/SampleProject-0.0.1jar --server.port=${PORT}
pom.xml(Fix)
…
<artifactId>SampleProject</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
…
Die Verpackung in pom.xml in jar wurde korrigiert Stellen Sie sicher, dass die Artefakt-ID und der Versionsname von pom.xml mit Procfile identisch sind
application.properties(Fix)
Folgende Beschreibung wurde hinzugefügt
server.port=${PORT:5000}
bitbucket-pipelines.yml (neu)
# This is a sample build configuration for Java (Maven).
# Check our guides at https://confluence.atlassian.com/x/zd-5Mw for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: maven:3.3.9
pipelines:
default:
- step:
caches:
- maven
script: # Modify the commands below to build your repository.
#- mvn -B verify # -B batch mode makes Maven less verbose
- git push https://heroku:"Heroku API-Schlüssel"@git.heroku.com/"Heroku-Projektname".git HEAD
system.properties Konfigurationsdatei erforderlich, um das Maven-Projekt nach dem Erstellen auf Heroku-Seite auszuführen Procfile Die Dateien, die zum Ausführen des Projekts auf der Heroku-Seite benötigt werden. Beschreiben Sie den Ausführungsbefehl Übrigens wird im Maven-Projekt beim Ausführen von mvn build die Build-Ergebnisdatei (in diesem Fall jar) im Zielordner direkt unter dem Projekt gespeichert. Sie haben angegeben, dies zu tun pom.xml Das Ziel von mvn build wurde in jar geändert (ich denke, der Standard war Krieg). application.properties Der Server-Port auf der Heroku-Seite scheint 5000 zu sein, daher wird er so beschrieben (wie offiziell geschrieben). bitbucket-pipelines.yml Verwenden Sie die Pipeline-Funktion von Bitbucket. Beim Verschieben in den Hauptzweig von Bitbucket wird der in yaml beschriebene Prozess automatisch ausgeführt. Hier wird Java diesmal von Maven verwaltet ① Deklarieren Sie das Maven-Projekt zu Beginn ② Zum Projektzweig von Heroku wechseln tun. Wenn es an heroku gesendet wird, werden automatisch die Projektsprache, die Einstellungsdatei usw. ermittelt und ohne Erlaubnis erstellt.
Endgültige Ordnerstruktur (Da Bitbucket und Heroku ohne diese Konfiguration nicht funktionieren, probieren Sie es aus.)
SampleProject
├─src/main/java
├─src/main/resources
│ ├─application.properties
├─bitbucket-pipelines.yml
├─mvnw
├─mvnw.cmd
├─pom.xml
├─Procfile
├─pom.xml
└─system.properties
Wenn Sie es zu Bitbucket schieben, ① Die Bitbukcet-Pipeline wird gestartet ② Schieben Sie von Bitbukcet in das Git-Repository auf der Heroku-Seite ③ Heroku stellt automatisch fest, dass es sich um ein Maven-Projekt handelt, und führt den Maven-Build aus ④ Starten Sie das JAR mit dem Java-Befehl direkt unter dem Zielordner. Es wird im Fluss von Heroku eingesetzt. Überprüfen Sie nach dem Drücken das Protokoll des Pipeline-Bildschirms von Bitbucket und das Protokoll von Heroku, um sicherzustellen, dass verschiedene Befehle funktionieren. Wenn alles gut geht, sind Sie fertig.
Sobald Sie eine Pipeline haben, wird diese jedes Mal automatisch für Heroku bereitgestellt, wenn Sie sie an BitBucekt senden. Es ist das Ende.