Best way to deploy my theme

Guys, I’m trying to figure the best way to publish my theme to my server.

I develop my the with the full stack of roots, trellis, bedrock and sage, but I feel very confuse to understand how can I publish my theme correctly to my server (also I already read the docs about), because of this I’ve a few questions about it:

  1. To publish my theme I need the same folder/files structure of trellis/bedrock/sage in my server?
  2. I’ve an staging environment and I would like to use it, there is a way to create an automatic publish to my server, including theme files and database?
  3. What you recommend to publish themes, you can share here your experiences about how you manage your projects deployments.
  4. Build locally and upload by FTP is the best option?

Anyone can help me with a more detailed steps to publish themes?

I considere myself new with roots stack.

Thanks to all!

Usually the (e.g. sage) theme is committed together with the WordPress Bedrock installation.

Related discussion:

  1. You don’t need Bedrock or Trellis to deploy a Sage theme
  2. Sure, with a CI service such as CircleCI or even DeployBot
  3. Take a look at https://github.com/roots/roots-example-project.com
  4. FTP is never a good option