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é.
Simple et efficace.

https://bitbucket.org/atlassian/sftp-deploy/src/master/

Michael

Développeur / intégrateur, travaillant en agence web depuis 2005, je viens à présent vous proposer de venir découvrir mes créations personnelles de plugins / themes pour le CMS Wordpress & Prestashop, quelques solutions en mode SAAS & un peu d'actualité web ( / Twitter).

Vous aimerez aussi...