Bitbucket deploy avec un pipeline
Bitbucket vous permet de réaliser un déploiement de votre master depuis un pipeline. Vous allez ainsi pouvoir suite à un commit sur votre master, envoyer votre code sur le serveur de votre choix.
Comment réaliser cela depuis Bitbucket.org et un serveur ionos.fr ?
Configuration bitbucket :
- Activer la gestion du pipeline (Settings > Settings > Enable Pipelines).
- Créer un fichier bitbucket-pipelines.yml avec le contenu suivant :
pipelines:
default:
- step:
name: Deploy to test
deployment: test
script:
- pipe: atlassian/sftp-deploy:0.5.3
variables:
USER: $USER
SERVER: $SERVER
REMOTE_PATH: $REMOTE_PATH
# PASSWORD: $PASSWORD
# LOCAL_PATH: '<string>' # Optional.
# SSH_KEY: '<string>' # Optional.
# PASSWORD: '<string>' # Optional.
# EXTRA_ARGS: '<string>' # Optional.
# DEBUG: '<boolean>' # Optional.
- Créez les variables suivantes (Settings > Repository variables) :
- USER
- SERVER
- REMOTE_PATH
- Créez une « SSH key » en cliquant sur « Generate keys » (Settings > SSH keys).
- Et ajoutez votre host puis cliquez sur « Fetch » et une fois l’IP trouvée, faire « Add host ».
- Vous allez pouvoir utiliser la « Public key » dans la configuration ionos ci-dessous.
Configuration ionos :
- Placez-vous dans le dossier de votre projet.
- Créez un dossier .ssh (chmod : 700).
- Créer un fichier .ssh/authorized_keys (chmod : 600).
- Copier la « Public key » générée depuis bitbucket et la coller dans authorized_keys.
Utiliser le pipeline :
- Lorsque vous allez réaliser un commit sur votre master, cela va activer l’exécution du pipeline et ainsi envoyer le contenu du repository sur votre serveur (ici j’ai utilisé un serveur ionos).
- Vous pouvez aussi lancer manuellement le pipeline si besoin (avec des tests, etc …).
« https://bitbucket.org/{user}/{project}/addon/pipelines/home » puis « Run pipeline ».
Bitbucket-pipeline.yml que j’ai utilisé.
https://bitbucket.org/atlassian/sftp-deploy/src/master/
Simple et efficace.