Aujourd’hui, Ahmad Awais a lancé WP Continuous Deployment, un pipeline de déploiement continu pour la mise à jour des plugins hébergés sur WordPress.org via les actions GitHub. Il s’agit d’un script CLI basé sur Node.js qui simplifie le processus de mise à jour des plugins. Les développeurs n’ont qu’à taper une seule ligne dans leur terminal ou leur invite de commande. Outre la configuration de quelques clés secrètes sur GitHub, le script gère tout en quelques instants.

«Nous vivons à l’ère des flux de travail agiles», a écrit Awais dans le annonce de projet. “Les développeurs veulent seulement git commit && git push et je m’attends à ce que leurs produits soient déployés à l’échelle mondiale … Cela fait une minute que je travaille sur un projet WordPress, mais depuis un an environ, je fantasme sur un flux de travail de déploiement de plugins basé sur git qui me permettra de m’éloigner de ces vieux dépôts SVN enfin. “

Le 14 novembre, GitHub a annoncé le déploiement d’actions GitHub. Les actions sont un moyen pour les développeurs d’automatiser les workflows à partir de leurs référentiels Git. Les développeurs peuvent les partager, les dupliquer et les réutiliser sur plusieurs projets. Quelques jours plus tard, 10up a lancé deux actions GitHub pour les développeurs de plugins WordPress. Ces actions sont la base du déploiement continu de WP.

10up’s Déploiement du plugin WordPress L’action gère le déploiement des mises à jour du plugin directement dans le répertoire du plugin WordPress. le Fichier Readme du plugin WordPress.org / Mise à jour des ressources L’action gère la validation des modifications apportées au fichier Lisez-moi ou aux ressources d’un plug-in. Le script WP Continuous Deployment ajoute automatiquement les deux et configure les fichiers de workflow GitHub appropriés pour chacun.

«Ce que j’espère accomplir avec WP Continuous Deployment, c’est de permettre à n’importe quel développeur d’utiliser facilement les actions GitHub créées par 10up et d’autres et d’aider à migrer vers ce nouveau flux de travail avec une pincée d’automatisation», a déclaré Awais. «Sans WP Continuous Deployment, la migration vers GitHub Actions pour déployer des plugins WordPress est une tâche qui nécessite de savoir comment fonctionnent les actions GitHub, quels fichiers vous devez créer, quels sont les secrets et où les placer. Nous perdons un grand nombre de développeurs qui sont incapables de comprendre cette étape – en raison d’une expérience opérationnelle encombrante et sèche. »

Aujourd’hui, le flux de travail de nombreux développeurs WordPress s’exécute directement via Git, principalement avec des référentiels hébergés sur GitHub. Souvent, les développeurs s’attendent à ce que tout code engagé se déploie automatiquement aux endroits où il doit aller, comme les sites Web de production.

Le système d’annuaire des plugins WordPress, qui repose sur SVN au lieu de Git, peut parfois être un goulot d’étranglement dans les workflows d’équipe. Certaines équipes ont même des développeurs qui n’ont jamais utilisé SVN dans leur carrière. Il est logique que les équipes utilisent un seul système. Cela conduit à moins de bogues et nécessite moins de ressources pour former les gens sur un système de contrôle de version mourant.

“Nous ne rendons service à personne en gardant SVN”, a déclaré Awais. «Les projets recrutent des centaines de développeurs open source pour permettre à la communauté des développeurs d’interagir facilement avec leurs projets. Alors que WordPress – qui tenait jadis cet avantage – a commencé à prendre du retard en rendant difficile et peu pratique le démarrage du développement WordPress. Allez choisir 100 étudiants au hasard pour les universités du monde entier et demandez-leur de démarrer un projet open-source. Vous serez surpris par la majorité d’entre eux qui choisissent de commencer avec les licences Git et MIT. Et, ici, dans la communauté WordPress, nous demandons aux gens d’utiliser SVN. C’est impossible et inaccessible pour la majorité des développeurs aujourd’hui. “

Awais a déclaré que les actions GitHub ont permis à son équipe de perdre beaucoup de poids mort. À l’origine, il n’a pas rendu ses actions GitHub open source car elles étaient spécifiques à ses cas d’utilisation. Après avoir réduit le code, il s’est rendu compte qu’ils n’étaient pas différents des actions que 10up avait déjà publiées.

«Je vois le traitement de SVN comme une tâche DevOps», a-t-il déclaré. «Quelque chose que les développeurs Web ne devraient pas s’inquiéter en 2020. Les développeurs Web veulent créer des sites Web. Ils veulent utiliser Git pour cela. Avec JAMstack, tout le monde s’est habitué à l’idée de pousser un git commit et d’obtenir la nouvelle version / version. C’est pourquoi j’ai créé WP Continuous Deployment. »

Mise en place en 1, 2…

Capture d'écran de la configuration de WP Continuous Deployment via la ligne de commande.
Exécution du processus de configuration pour WP Continuous Deployment

L’année dernière, lorsque j’ai testé les actions GitHub de 10up, il y avait une petite courbe d’apprentissage. J’ai dû comprendre à quoi servaient ces nouveaux fichiers de workflow et si je devais changer les choses. Ce n’était pas un processus trop compliqué, mais il y a eu un moment de confusion ou deux.

Ce que fait le script d’Awais, c’est de pousser ces deux actions GitHub un peu plus loin et d’automatiser la quasi-totalité de la configuration.

Les développeurs doivent avoir Node.js installé sur leur ordinateur pour exécuter le script, ce qui est assez courant aujourd’hui. Avec une seule commande de npx wp-continuous-deployment, le script est installé. Il vous invite ensuite à entrer votre slug de plugin WordPress.org pour tout configurer. Une fois cela fait, il vous suffit de créer quelques clés secrètes sur votre référentiel GitHub.

Awais voulait automatiser l’ensemble du processus. Cependant, GitHub ne dispose pas encore d’une API pour créer des clés secrètes. Jusqu’à ce que cela se produise, c’est la seule étape manuelle requise.

Deux minutes après avoir choisi le référentiel sur lequel je voulais tester le script, j’avais tout en place et prêt à partir. Maintenant, j’ai juste besoin de trouver du temps pour réellement écrire du code pour certains de mes nombreux plugins afin que je puisse vraiment tester ce script. Jusqu’à présent, les choses vont bien.

Il peut enfin être possible pour moi de purger tout ce qui concerne SVN de ma vie. Ce serait un changement bienvenu. #lifegoals


Source link