No a todos les gusta la subversión. Si usa Git para administrar el desarrollo del complemento de WordPress, mantener su repositorio de Git y el repositorio de SVN de WordPress.org sincronizados es tedioso. Afortunadamente, podemos usar el proveedor de implementación de TravisCI para automatizar la implementación de SVN después de las pruebas.
Usted necesita estos antes de seguir adelante:
Para poder utilizar TravisCI, tenemos que alojar el repositorio de complementos en GitHub.
Primero, cree un nuevo repositorio en GitHub yendo a esta página y completando el nombre del repositorio.
Luego, vamos a enviar todos los archivos de complementos a Git y enviarlos a este repositorio de GitHub. Recuerda reemplazar la URL remota con la tuya.
$ cd / path / to / plugin / directory $ git init $ git add -A $ git commit -m "first commit" $ git add add origin https://github.com/TangRufus/tutsplus-dpl-demo.git $ git push -u origen maestro
Conecte su repositorio GitHub con TravisCI accediendo a la página de su cuenta TravisCI y activando su repositorio. Hacer clic Sincronizar cuenta en la esquina superior derecha si su repositorio recién creado no aparece en la lista.
Estás todo listo. Cada vez que presiona nuevas confirmaciones o alguien realiza solicitudes de extracción a GitHub, se activará una compilación en TravisCI.
TravisCI usa un archivo YAML llamado .travis.yml
en la raíz de su repositorio para personalizar las compilaciones. Obtenga más información en el documento de personalización de compilación para ver cómo puede controlar el ciclo de vida de la compilación.
Este es un archivo de configuración básica que le indica a TravisCI que ejecute compilaciones en PHP 7.0
y 7.1
. Dado que las pruebas están fuera del alcance de este tutorial, reemplazé los comandos de prueba reales con echo 'probado'
.
# .travis.yml idioma: php sudo: false php: - 7.0 - 7.1 script: # Ejecute sus pruebas aquí. - echo 'probado'
Confirma este archivo y empújalo a GitHub. Las construcciones de TravisCI se activarán automáticamente.
$ git add .travis.yml $ git ci -am "Add .travis.yml" $ git push master master
Los proveedores de implementación se ejecutan si las pruebas pasaron y los condicionales predefinidos (el en
sección) se cumplen. TravisCI proporciona cerca de 40 proveedores de despliegue oficiales. Lamentablemente, ninguno de ellos es compatible con los repositorios de subversión de WordPress.org. Así, hice mi propio proveedor personalizado. Lo puedes encontrar en GitHub y su solicitud de extracción..
Para usarlo, agrega estas líneas al final de .travis.yml
.
before_deploy: - mkdir build - cp LICENCIA build - cp README.txt build - cp remove-medium-cross-links.php build deploy: - proveedor: wordpress-plugin edge: fuente: TypistTech / dpl branch: add-wordpress-plugin- implementación en: php: 7.1 etiquetas: true repo: TangRufus / tutsplus-dpl-demo slug: remove-medium-cross-links nombre de usuario: tangrufus contraseña: $ WORDPRESS_ORG_PASSWORD build_dir: build
antes_desplegar
los antes_desplegar
sección copia tres archivos en el construir
directorio que se debe registrar en el repositorio de subversión de WordPress.org. En el mundo real, aquí es donde quieres correr trago
o gruñido
Tareas para preparar el plugin listo para producción..
No copie archivos de prueba o archivos innecesarios en construir
como el todo construir
El directorio se distribuye a los usuarios y los usuarios no necesitan sus archivos de prueba..
proveedor
y borde
Le decimos a TravisCI que instale mi proveedor desde el add-wordpress-plugin-deploy
rama https://github.com/TypistTech/dpl. Una vez que la solicitud de extracción se ha fusionado, el borde
parte es innecesaria.
en
los en
La sección controla si se debe realizar un despliegue. El despliegue se activa solo cuando se cumplen todos los requisitos.
En el ejemplo anterior, implementamos en WordPress.org solo cuando:
7.1
construirbabosa
La bala del plugin.
Si la URL de su complemento es https://wordpress.org/plugins/my-awesome-plugin/, entonces mi-impresionante-plugin
es la babosa del plugin.
nombre de usuario
El nombre de usuario de su cuenta de WordPress.org con el que envió el complemento para su revisión..
contraseña
La contraseña de la cuenta de WordPress.org. Nunca guarde esta contraseña en el .travis.yml
en texto plano!
En el ejemplo anterior, usamos el $ WORDPRESS_ORG_PASSWORD
Variable de entorno, que se puede configurar en el panel web de TravisCI. Escoger Ajustes desde el menú de cog, y haga clic en Añadir en el Variables de entorno sección. Nunca habilite la opción "Mostrar valor en el registro de compilación"!
build_dir
Todo lo que se encuentra en este directorio se enviará al repositorio de subversión de WordPress.org, es decir, se incluirá en el archivo zip descargable..
Establecimos esto a construir
porque hemos copiado archivos plugin en construir
durante antes_desplegar
.
Supongamos que hemos solucionado algunos errores y estamos listos para publicar una nueva versión en WordPress.org.
Estos comandos envían los cambios a la dominar
rama pero no desencadenar un despliegue:
$ git add -A $ git commit -am "Corrección de errores" $ git push origin master
Sólo el despliegue de desencadenante de confirmaciones etiquetado:
$ git tag -a 1.0.17 -m "Versión bump 1.0.17" $ git push origin master --tags
Regresa a TravisCI y abre el PHP 7.1
registro de compilación Deberías ver un despliegue registrado.
Construyendo dpl gem localmente con la fuente TypistTech / dpl y la rama add-wordpress-plugin-deploy Instalando dependencias de despliegue !!! El soporte de WordPress Plugin es experimental !!! Preparar la implementación Encontrar la configuración para la implementación del complemento de WordPress ... Slug: remove-medium-cross-links Nombre de usuario: tangrufus Contraseña encontrada Crear directorio: crear Directorio de activos: no encontrado Validar la configuración para la implementación del complemento de WordPress ... La configuración se ve bien Ir a la etiqueta deloy: 1.0.17 Limpiando el repositorio de git con 'git stash --all'. Si necesita artefactos de compilación para la implementación, configure 'deploy.skip_cleanup: true'. Consulte https://docs.travis-ci.com/user/deployment/#Upload-Files. / usr / lib / git-core / git-stash: 186: / usr / lib / git-core / git-stash: no se puede crear /home/travis/build/TangRufus/tutsplus-dpl-demo/.git/logs/ refs / stash: directorio inexistente Implementación de la aplicación Revisar https://plugins.svn.wordpress.org/remove-medium-cross-links Compensación / tmp / d20170513-3291-1yh7vqo / trunk ... Eliminando archivos borrados de la subversión ... D / tmp / d20170513-3291-1yh7vqo / trunk Eliminación temporal de troncales y activos (si asset_dir está configurado) Eliminación de tmp / d20170513-3291-1yh7vqo / trunk Revisión confirmada 1656616. Copiando compilación a / tmp / d2017013-3291-1yh7vqo / trunk. / d20170513-3291-1yh7vqo / trunk a /tmp/d20170513-3291-1yh7vqo/tags/1.0.17… Adición de nuevos archivos a la subversión ... A / tmp / d20170 / cc / pc / pc / pc / pc / pc / p20 / pc / pc / d201705 / pc / pc / p20 / pc / p20 / pc / p20 / p2 / p2 / trunk / LICENSE A /tmp/d20170513-3291-1yh7vqo/trunk/README.txt A /tmp/d20170513-3291-1yh7vqo/trunk/remove-medium-cross-links.php A / tmp / d20170513/contactos/peso/transporte/medio-cross-links.php A / tmp / d20170513/contonamiento / vajilla / medios tags / 1.0.17 A /tmp/d20170513-3291-1yh7vqo/tags/1.0.17/LICENSE A / tmp / d20170513-3291-1y h7vqo / tags / 1.0.17 / README.txt A /tmp/d20170513-3291-1yh7vqo/tags/1.0.17/remove-medium-cross-links.php Committing 1.0.17 Adición de tmp / d20170513-3291-1yh7vqo / tags /1.0.17 Adición de tmp / d20170513-3291-1yh7vqo / tags / 1.0.17 / LICENCIA Adición de tmp / d20170513-3291-1yh7vqo / tags / 1.0.17 / README.txt Adición de tmp / d2017513-3291-1yh7vqo / tags / 1.0 / 1.020 .17 / remove-medium-cross-links.php Adición de tmp / d20170513-3291-1yh7vqo / trunk Adición de tmp / d20170513-3291-1yh7vqo / trunk / LICENSE Adición de tmp / d20170513-3291-1yh7vqo / trunk / trunk / READq. /d20170513-3291-1yh7vqo/trunk/remove-medium-cross-links.php Transmisión de datos de archivos ... Revisión comprometida 1656617.
Y en el trac WordPress.org (https://plugins.trac.wordpress.org/browser/
svn commit
Dos vecesYa que TravisCI viene con una versión antigua de subversión
que no juega bien con los subdirectorios, lo hago svn commit
dos veces.
El primero svn commit
elimina todo lo que hay dentro el maletero
. El segundo svn commit
copia todo de build_dir
a el maletero
.
Este proveedor aún es experimental y aún no se ha incorporado al repositorio oficial de TravisCI. Puede realizar un seguimiento de los comentarios de TravisCI en su solicitud de extracción.
Utilizando borde
no fusiona mi rama en el maestro ascendente. Existe la posibilidad de que mi sucursal esté detrás del repositorio oficial. Cuando suceda, puede bifurcar mi sucursal y volver a cambiarla, y luego cambiar fuente
en .travis.yml
a tu repositorio GitHub.
Para usar este proveedor de despliegue:
.travis.yml
.Espero que todo lo anterior le ayude a implementar complementos a WordPress.org más rápido.
WordPress tiene una economía increíblemente activa. Hay temas, complementos, bibliotecas y muchos otros productos que lo ayudan a desarrollar su sitio y proyecto. La naturaleza de código abierto de la plataforma también lo convierte en una excelente opción para que pueda mejorar sus habilidades de programación. En cualquier caso, puede ver todo lo que tenemos disponible en Envato Marketplace..
Gracias por leer!