Cheatsheet
Utiliser Composer avec les plugins privés
Certains plugins sont privés. Soit ce sont vos propres plugins que vous ne Lorsouhaitez pas publier, soit il s’agit de plugins premiums qui ne sont disponibles au téléchargement qu’après achat. Par conséquent, ils ne sont pas répertoriés sur WPackagist.
Dans un cas comme dans l’autre, nous allons créer un dépôt privé sur GitHub afin que Composer puisse récupérer le code automatiquement.
Création du dépôt privé
Dans un premier temps, on créé donc un nouveau dépôt avec tout le code du plugin, puis on ajoute un composer.json afin que Composer sache quoi faire.
{
"name": "prefixe_github/nom_du_repo",
"description": "Description facultative",
"keywords": ["wordpress", "plugin"],
"homepage": "url du repo",
"type": "wordpress-plugin",
"require": {
"php": ">=7.3",
"composer/installers": "~1.7"
}
}
Dans name
vous renseignez le slug du repo, soit votre prefixe GitHub (Buzut
par exemple dans le cas de Steroids) puis le nom du repo : Buzut/setroids
pour Steroids par exemple.
Ensuite, require
permet de configurer les dépendances. Ici on se contente d’indiquer la version minimale de PHP ainsi que composer/installers
. Cette dernière dépendance permettra à Composer d’installer le plugin directement dans le répertoire des plugins.
Composer sait qu’il s’agit d’un plugin car on a bien déclaré wordpress-plugin
dans type
.
Une fois que tout est bon, on peut commiter les fichiers et créer le premier commit.
git add .
# Puis on commit
git commit
En dernier lieu, on créer un tag afin d’attribuer un numéro de version au plugin.
# Admettons qu'on définisse le plugin comme étant en version 1
git tag 1.0.0
Enfin, lors du push, on n’oubliera pas de pusher aussi les tags avec l’option --tags
de git push
, soit git push --tags
.
Alternativement, sachez aussi qu’il est possible d’avoir des dépôts Packagist privés. C’est une solution qui apporte encore plus de souplesse et de puissance, mais elle n’est pas gratuite.
Utiliser le dépôt avec Composer
Dans le composer.json
du projet, on doit référencer nos dépôts GitHub afin que Composer puisse les utiliser.
…
"type": "project",
"repositories": [
{
"type": "composer",
"url": "https://wpackagist.org",
"only": [
"wpackagist-plugin/*",
"wpackagist-theme/*"
]
},
{
"type": "vcs",
"url": "git@github.com:github_prefix/project_name.git"
},
…
]
…
On doit référencer chacun des dépôts de nos plugins. Comme il s’agit de dépôt privés, Composer demandera de vous authentifier. C’est pour cette raison qu’il est préférable d’utiliser GitHub pour cela. L’authenfitication est déjà intégrée.
Vous pouvez exécuter la commande d’installation composer require github_prefix_project_name
et Composer vous donnera les instructions afin de créer votre token d’autorisation.
Étant donné que vous aurez parfois besoin de déployer de manière automatisée, l’authentification interractive peut ne pas toujours s’avérer adaptée. Dans vos scripts de deploy, vous renseignerez donc en amont votre jeton d’authentification GitHub.
composer config --global github-oauth.github.com $GITHUB_TOKEN
Et voilà, le tour est joué !
Commentaires
Rejoignez la discussion !