Publishing projects from Plasmic Studio
You can publish your changes directly from Plasmic Studio, using the Publish button in the toolbar. Included is the ability to deploy changes to production. This empowers Plasmic Studio users, including non-developers, to freely iterate on their designs and content, without blocking on developers to perform “boilerplate” commit/merge actions.
Publishing enables any of the following:
- Versioning: Simply save versions of your project. You can see historical versions and restore them any time.
- Cross-project imports: Publish a version of your project for other projects to import. For instance, publish a central design system that multiple downstream projects can depend on. Learn more.
- Versioned code sync: Ensure that developers will sync only published versions into the codebase and not any work-in-progress changes you may have in flight. You can further limit syncing to accept only backward-compatible changes. Learn more.
- Push to GitHub: Push commits or PRs to any GitHub repo, or trigger PlasmicLoader builds (run by GitHub Actions). You can create a brand-new repo from scratch, which lets you choose a React stack. But this also works for existing repos that do not already have Plasmic installed, where we’ll inspect your codebase to auto-detect the right options to configure Plasmic with.
- Publish a website: When creating a new GitHub repo, you have the option to publish a full website end-to-end. This is powered by the GitHub Pages CDN, but lets you choose a
your-website-name.plasmic.sitedomain (which you can later change to any custom domain). This lets you instantly deploy without touching any code or CLI. And since this is just using your GitHub repo, you can at any time start adding arbitrary React code! (The repo includes a GitHub Actions workflow that will automatically build and deploy when you push commits to the main branch.)
- Call webhooks: If you have a custom build pipeline—for instance, one running on Jenkins, Netlify, Vercel, GitHub Actions, or elsewhere—you can kick off jobs using webhook integrations. This is useful if you are using PlasmicLoader or (for Codegen) have
plasmic syncrunning as part of your CI/CD process.
In addition to the above capabilities, you can also push your changes to CodeSandbox for quick code-based prototyping and experimentation.
All project versions will show up on the “Published versions” panel on the left in reverse chronological order.
You can view any project version by clicking on the entry. This will load a read-only snapshot of the project from that moment in time.
- Changes in read-only mode will not be saved
- You can return to edit mode either by clicking on the action button in the alert banner or reloading the studio
You can deploy your website end-to-end in a matter of clicks straight from Plasmic Studio.
This is powered by GitHub Pages, and includes your choice of a free
The build and deploy pipeline is run using GitHub Actions.
Additionally, since Plasmic integrates with code, it is easy to deploy your site with other great hosting providers such as Vercel or Netlify. These dedicated providers provide many benefits—for instance, Vercel’s GitHub integration automatically publishes staging previews for each pull request, so you can see what the website will look like.
Getting started with either provider couldn’t be easier:
- Vercel: Sign up with your GitHub account, click “New Project,” and import your Plasmic-powered repo.
- Netlify: Sign up with your GitHub account, click “New site from Git,” and import your Plasmic-powered repo.
Beyond these providers, you can take your Plasmic project anywhere—from major cloud platforms like AWS Amplify and Google Cloud Firebase, to VPS providers like Linode and Digital Ocean.
When using the out-of-the-box GitHub Pages-powered hosting, you can easily change your domain to any other
\*.plasmic.site domain (as long as it’s not already taken) or to any custom domain you have.
To do so, browse to your repo on github.com, go to the Settings tab, and simply change the domain in the GitHub Pages settings:
To use a custom domain:
Configure your DNS provider with the appropriate
CNAMErecords as described in the GitHub docs.
No matter where you take your project, we love to hear about where your site ends up!
We will be putting together a gallery of websites and apps that users have made with Plasmic. You can help the Plasmic community grow by inspiring others with your own example of what can be built with Plasmic, and at the same time give your site some extra visibility!