VSCode – Deploy (Reloaded)

J’utilise cette extension assez souvent.

Pourquoi ? tout simplement car je peux travailler en local et déployer automatiquement sur un ou plusieurs serveurs de production et possiblement exécuter des scripts (faire un pacakge zip par exemple)

Une fois l’extension installée, il faut créer un fichier de configuration settings.json dans le dossier .vscode de l’environnement

Le minimal pour cette extension est :

{
  "deploy.reloaded": {
  }
}

Une cible (target) en SFTP serait

{
  "deploy.reloaded": {
    "targets": [
      {
        "type": "sftp",
        "name": "SFTP1",
        "dir": "/my_package_files",
        "host": "localhost",
        "user": "tester",
        "password": "password"
      }
    ]
  }
}

Vous utilisez une clé SSH ?

{
  "deploy.reloaded": {
    "targets": [
      {
        "type": "sftp",
        "name": "SFTP 1",
        "dir": "/my_package_files",
        "host": "localhost",
        "user": "tester",
        "password": "password"
      },
      {
        "type": "sftp",
        "name": "SFTP 2",
        "dir": "/my_package_files",
        "host": "localhost",
        "user": "tester",
        "privateKey": "/.ssh/id_rsa",
        "privateKeyPassphrase": "password"
      }
    ]
  }
}

Vous souhaitez déployer à chaque modification ?

{
  "deploy.reloaded": {
    "targets": [
      {
        "type": "sftp",
        "name": "SFTP 1",
        "dir": "/my_package_files",
        "host": "localhost",
        "user": "tester",
        "password": "password"
      }
    ]
  },
  "packages": [
    {
      "name": "My project",
      "deployOnSave": [ "SFTP 1" ],

      "files": [
        "**/*.css",
        "**/*.js"
      ]
    }
  ]
}

Appeler une page web lorsque le chargement est terminé

{
  "deploy.reloaded": {
    "targets": [
      {
        "type": "sftp",
        "name": "SFTP 1",
        "dir": "/my_package_files",
        "host": "localhost",
        "user": "tester",
        "password": "password",

        "deployed": [
          {
            "type": "http",
            "url": "https://mysite.example.com/flush_cache.php"
          }
        ]
      }
    ]
  },
  "packages": [
    {
      "name": "My project",
      "deployOnSave": [ "SFTP 1" ],

      "files": [
        "**/*.css",
        "**/*.js"
      ]
    }
  ]
}

Je vous laisse constulter le wiki, qui est juste archi complet !