Console application to build and deploy WordPress solutions to the WordPress.org repository and AWS S3.
Warning Deprecated, because Pronamic CLI is the successor.
Show the changelong entry of a specific version from CHANGELOG.md
.
bin/wp-deployer changelog 1.0.0
Release a directory to a Subversion repository.
bin/wp-deployer svn-release build/plugin build/svn https://plugins.svn.wordpress.org/pronamic-pay-with-mollie-for-gravity-forms 1.0.0
Release a directory to the WordPress Plugin Directory.
bin/wp-deployer wp-org-release build/plugin build/svn pronamic-pay-with-mollie-for-gravity-forms
bin/wp-deployer deploy easycruit https://gitlab.com/pronamic-plugins/easycruit.git --to-s3 -vvv
bin/wp-deployer deploy pronamic-client https://github.com/pronamic/wp-pronamic-client.git --to-s3 --to-wp-org -vvv
bin/wp-deployer deploy pronamic-events https://github.com/pronamic/wp-pronamic-events.git --to-s3 --to-wp-org -vvv
bin/wp-deployer deploy pronamic-ideal https://github.com/pronamic/wp-pronamic-ideal.git --to-s3 --to-wp-org -vvv
bin/wp-deployer deploy pronamic-ideal https://github.com/pronamic/wp-pronamic-ideal.git --branch=develop --to-s3 -vvv
bin/wp-deployer deploy woocommerce-bulk-product-variations https://gitlab.com/pronamic-plugins/woocommerce-bulk-product-variations.git --to-s3 -vvv
bin/wp-deployer deploy pronamic-pay-adyen https://github.com/wp-pay-gateways/adyen.git --to-s3 -vvv
bin/wp-deployer deploy pronamic-pay-adyen https://github.com/wp-pay-gateways/adyen.git --to-s3 -vvv
bin/wp-deployer deploy pronamic-pay-contact-form-7 https://github.com/pronamic/wp-pronamic-pay-contact-form-7.git --to-s3 -vvv
bin/wp-deployer deploy pronamic-pay-contact-form-7 https://github.com/pronamic/wp-pronamic-pay-contact-form-7.git --to-s3 -vvv
bin/wp-deployer deploy pronamic-pay-digiwallet https://github.com/pronamic/wp-pronamic-pay-digiwallet.git --branch=main --to-s3 -vvv
bin/wp-deployer deploy pronamic-pay-fundraising https://github.com/pronamic/wp-pronamic-pay-fundraising.git --to-s3 -vvv
bin/wp-deployer deploy pronamic-pay-paypal https://github.com/pronamic/wp-pronamic-pay-paypal.git --to-s3 -vvv
bin/wp-deployer deploy pronamic-pay-payvision https://github.com/pronamic/wp-pronamic-pay-payvision.git --branch=main --to-s3 -vvv
Here is a list of alternatives that we found. However, none of these satisfied our requirements.
If you know other similar projects, feel free to edit this section!
- GitHub Actions for WordPress! by 10up
- WordPress Plugin Directory Deployment Script by Gary Jones
- WordPress Plugin SVN Deploy by Nikita
- sudar/wp-plugin-in-github by Sudar Muthu
http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.checkout.html
svn co https://plugins.svn.wordpress.org/pronamic-ideal svn/pronamic-ideal --depth immediates
svn update --quiet svn/pronamic-ideal/trunk --set-depth infinity
svn update --quiet svn/pronamic-ideal/assets --set-depth infinity
https://www.git-scm.com/docs/git-clone
git clone https://github.com/pronamic/wp-pronamic-ideal.git git/pronamic-ideal
cd svn/pronamic-ideal
svn update
cd ../../
cd git/pronamic-ideal
git pull
cd ../../
cd git/pronamic-ideal
git checkout tags/5.4.1
composer install --no-dev --prefer-dist
cd ../../
rm -r build/pronamic-ideal
mkdir build/pronamic-ideal
rsync --recursive --delete --exclude-from=exclude.txt ./git/pronamic-ideal/ ./build/pronamic-ideal/
mkdir zip/pronamic-ideal
zip -r ./zip/pronamic-ideal/pronamic-ideal.5.4.1.zip ./build/pronamic-ideal/*
mkdir tar/pronamic-ideal
tar -zcvf ./tar/pronamic-ideal/pronamic-ideal.5.4.1.tar.gz ./build/pronamic-ideal/*
rsync --recursive --delete ./build/pronamic-ideal/ ./svn/pronamic-ideal/trunk/
svn status ./svn/pronamic-ideal/trunk/ | grep '^!' | cut -c 9- | xargs -d '\n' -i svn delete {}@
svn status ./svn/pronamic-ideal/trunk/ | grep '^?' | cut -c 9- | xargs -d '\n' -i svn add {}@
svn commit ./svn/pronamic-ideal/trunk/ -m 'Update'
svn copy ./svn/pronamic-ideal/trunk/ ./svn/pronamic-ideal/tags/4.5.1/
svn commit ./svn/pronamic-ideal/tags/4.5.1/ -m 'Tagging version 4.5.1'
# GNU tools on Mac.
# https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
# GNU `cat`
brew install coreutils
# GNU `xargs`:
# https://superuser.com/questions/467176/replacement-for-xargs-d-in-osx
brew install findutils --with-default-names
# GNU `grep`:
# https://apple.stackexchange.com/questions/193288/how-to-install-and-use-gnu-grep-in-osx
brew install grep --with-default-names
# AWS Command Line Interface
# https://aws.amazon.com/cli/
brew install awscli
svn status | grep '^!' | cut -c 9- | xargs -d '\n' -i svn delete {}@
# ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
# | | | | | |
# | | | | | \\ https://stackoverflow.com/questions/757435/how-to-escape-characters-in-subversion-managed-file-names
# | | | | | \\ http://svnbook.red-bean.com/en/1.7/svn.advanced.pegrevs.html
# | | | | |
# | | | | \\ Subversion delete.
# | | | |
# | | | \\ Xargs.
# | | |
# | | \\ Cut.
# | | \\ https://github.com/apache/subversion/blob/1.10.2/subversion/svn/status.c#L447-L460
# | |
# | \\ Grep.
# |
# \\ Subversion status.
svn status | grep '^?' | cut -c 9- | xargs -d '\n' -i svn add {}@
# ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^
# | | | | | |
# | | | | | \\ https://stackoverflow.com/questions/757435/how-to-escape-characters-in-subversion-managed-file-names
# | | | | | \\ http://svnbook.red-bean.com/en/1.7/svn.advanced.pegrevs.html
# | | | | |
# | | | | \\ Subversion add.
# | | | |
# | | | \\ Xargs.
# | | |
# | | \\ Cut.
# | | \\ https://github.com/apache/subversion/blob/1.10.2/subversion/svn/status.c#L447-L460
# | |
# | \\ Grep.
# |
# \\ Subversion status.
- https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/
- https://developer.wordpress.org/plugins/wordpress-org/how-to-use-subversion/
- https://github.com/woocommerce/woocommerce/tree/3.4.5/.wordpress-org
- https://github.com/woocommerce/woocommerce-gateway-stripe/tree/4.1.10/wordpress_org_assets
- https://github.com/sudar/email-log/tree/2.2.5/assets-wp-repo
- https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
- https://superuser.com/questions/467176/replacement-for-xargs-d-in-osx
- https://apple.stackexchange.com/questions/193288/how-to-install-and-use-gnu-grep-in-osx
- https://github.com/stephenharris/grunt-wp-deploy
- https://github.com/GaryJones/wordpress-plugin-svn-deploy
- https://github.com/sudar/wp-plugin-in-github
- https://stackoverflow.com/questions/16991428/bash-how-to-put-each-line-within-quotation
- https://coderwall.com/p/tjekrq/subversion-shallow-checkout
- https://stackoverflow.com/questions/4709912/how-to-make-grep-only-match-if-the-entire-line-matches
- https://superuser.com/questions/294850/check-if-a-file-is-already-committed-to-svn
- https://askubuntu.com/questions/29370/how-to-check-if-a-command-succeeded
- https://linux.die.net/man/1/zip
- https://symfony.com/doc/current/components/process.html
- https://symfony.com/doc/current/components/console/helpers/processhelper.html
- https://symfonycasts.com/blog/fun-with-symfonys-console
- https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html