Because there are already many methods for deploying your website already available, Tapestry currently doesn't have one built in. However since static websites are just HTML supporting assets they are both simple to deploy and cheap to host – even free in some cases.

Your own server

Deploying to your own server can be done via FTP, rSync or via many other tools; if you manage your own server then you don't need me teaching you how to suck eggs. However I do recommend adding a deploy gulp task that builds your project for the production environment and then rSyncs the files to your server.

It is recommended to create a production environment configuration and then copy the content of build_production to your web hosting's public folder.

$ tapestry build --env=production

GitHub Pages

GitHub provides a free static website hosting service called GitHub Pages. You get one free site per GitHub account and organization and unlimited sites for each of your projects.

To deploy your Tapestry project as your user site create a new repository named <username> with <username> being your GitHub username or organization name. This must exactly match otherwise it wont work.

Clone the new repository to your local pc and then execute the tapestry build command with the --dist-dir set to the absolute path of the new repository, e.g:

$ tapestry build --env=production --dist-dir=C:\Users\Username\Documents\

Commit the changes and push to GitHub and your changes will be visible at http://<username>