Ceci est le premier message. Il peut être difficile de lire le texte, mais merci.
Je veux déployer automatiquement sur Heroku lorsque je le pousse vers Git. Mais GitHub a été acquis par Microsoft ~~ Si vous ne payez pas, vous pouvez voir des choses que vous ne voulez pas voir car elles sont publiques. BitBucket est privé, il semble donc fonctionner.
Créez n'importe quel projet depuis Heroku CLI ou depuis l'écran de gestion des applications Web Notez la clé API d'Heroku (vous pouvez la vérifier à partir de l'écran Paramètres du compte)
Notez l'URL avec Repository Create → Git Clone
Cliquez avec le bouton droit → Nouveau → Créer avec un nouveau projet Spring Starter Le nom du projet créé après cela est SampleProject et le nom de variable dans chaque fichier est également SampleProject. Veuillez le lire comme le nom de votre projet.
SampleProject
├─src/main/java
├─src/main/resources
│ ├─application.properties
├─mvnw
├─mvnw.cmd
└─pom.xml
OK s'il a la structure de package ci-dessus Créez et modifiez des fichiers spécifiques à BitBucket et Heroku à partir d'ici
system.propriétés (nouveau)
java.runtime.version=1.8
Procfile (nouveau)
web: java -jar target/SampleProject-0.0.1jar --server.port=${PORT}
pom.xml(Réparer)
…
<artifactId>SampleProject</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
…
Emballage fixe dans pom.xml en pot Confirmez que l'artefactId et le nom de version de pom.xml sont identiques à Procfile
application.properties(Réparer)
Ajout de la description suivante
server.port=${PORT:5000}
bitbucket-pipelines.yml (nouveau)
# 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:"Clé API Heroku"@git.heroku.com/"Nom du projet Heroku".git HEAD
system.properties Fichier de configuration requis pour exécuter le projet maven après la construction du côté Heroku Procfile Les fichiers nécessaires pour exécuter le projet du côté Heroku. Décrivez la commande d'exécution À propos, dans le projet maven, lorsque mvn build est exécuté, le fichier de résultat de la construction (jar dans ce cas) est stocké dans le dossier cible directement sous le projet. Vous avez spécifié de le faire pom.xml Changement de l'objectif de mvn build en jar (je pense que la valeur par défaut était la guerre) application.properties Le port du serveur du côté heroku semble être 5000, il est donc décrit comme ceci (tel qu'écrit officiellement) bitbucket-pipelines.yml Utilisez la fonction de pipeline de bitbucket. Lorsqu'il est poussé vers la branche maître de bitbucket, le processus décrit dans yaml est automatiquement exécuté. Ici, java est géré par maven cette fois, donc ① Déclarez le projet maven au début ② Poussez vers la branche projet de heroku faites. Une fois poussé vers heroku, il déterminera automatiquement la langue du projet, le fichier de configuration, etc. et le construira sans autorisation.
Structure finale du dossier (Parce que bitbucket et heroku ne fonctionneront pas sans cette configuration, vérifiez-le)
SampleProject
├─src/main/java
├─src/main/resources
│ ├─application.properties
├─bitbucket-pipelines.yml
├─mvnw
├─mvnw.cmd
├─pom.xml
├─Procfile
├─pom.xml
└─system.properties
Lorsque vous le poussez sur bitbucket, ① début du pipeline bitbukcet ② Poussez de bitbukcet vers le référentiel git du côté heroku ③ heroku détermine automatiquement qu'il s'agit d'un projet maven et exécute maven build ④ Démarrez le jar directement sous le dossier cible avec la commande java Il sera déployé sur heroku dans le flux de. Après avoir poussé, vérifiez le journal de l'écran du pipeline de bitbucket et le journal de Heroku pour vous assurer que diverses commandes fonctionnent. Si tout va bien, vous avez terminé.
Une fois que vous avez un pipeline, il sera automatiquement déployé sur heroku chaque fois que vous le poussez vers BitBucekt. C'est la fin.