Host HTML pages right on your server instance – supports Javascript, and serves unique pages on a repository basis.

The Pages plugin provides a simple way to publish web pages in Bitbucket Server. It allows repository administrators to enable serving of static web pages for any existing branch or tag. Once enabled, users will be able to view HTML files of this branch or tag directly in Bitbucket. Its also possible to link to other HTML files or resources like CSS, JavaScript or images by using relative links.

Feature Highlights

  • Simple web hosting  Host simple websites directly in Bitbucket Server

  • Commit and Publish  Just edit, push, and your changes are live

  • Version control just happens  Automatic version control by Git

  • Static web pages for every branch  Enable serving of static web pages per branch or tag

  • Access control just happens  Access control based on repository permissions

  • Relative links  Supports relative links and files stored in Git LFS

  • Configurable navigation button Select a branch you want to be accessible in left navigation bar

How it works

Repository administrators can enable serving of static web pages for any existing branch or tag in the repository settings screen. Once enabled, the base URL for pages in this branch or tag is being displayed next to the branch or tag name.

Web pages are available under the following URL: /pages/<PROJECT>/<REPOSITORY>/<BRANCH-OR-TAG>

If there is no index.html file available in the root level of a branch or tag, you need to link to the page directly by appending the file path to the URL. Example: /pages/<PROJECT>/<REPOSITORY>/<BRANCH-OR-TAG>/browse/<PATH>/<TO>/<FILE>.html

Once pages have been enabled for a branch or a tag, users will be able to view HTML files of this branch or tag directly in Bitbucket. When clicking on open in the file browser of this branch or tag, the page will be rendered full screen, without the Bitbucket layout. It's also possible to link to other HTML files or resources like CSS, JavaScript or images by using relative links. You can even link to files stored in Git LFS.

Of course by hosting your web pages directly in Bitbucket Server, you also get automatic version control by Git.

Security

Access to web pages is based on repository permissions. Users need at least read access to the repository to view web pages in Bitbucket. For security reasons, pages are not available for branches or tags in personal repositories by default. But in the plugin settings, you can configure which groups are allowed to enable pages in personal repositories.

XSS Attacks

For users who want to still use the plugin and are worried about potentially malicious content in git repositories, we've added an option to disable JavaScript on rendered pages. You can disable JavaScript either on a global level or a repository level. Another way to host malicious safely is to configure an external domain.

Configuration

You can change Web Pages plugin options in a separate configuration tab of Repository Settings page

Security level

You can select one of the following web page content protection levels:

  • Allow all insecure content: support both Javascript and CSS on the page, use only with private or fully trusted repositories!

  • Allow CSS only: support CSS styling of pages, but wipe out Javascript code from pages

  • Disable all insecure content: render text content only, wipe out CSS and Javascript code

Sub-folder to serve

Path to be used as root of web server. Files outside selected folder will not be accessible

Enable branches

Automatically enable pages for new branches in this repository: If this option is enabled, web page link will be enabled for all newly created branches.

Also, you can manually enable or disable particular branches or tags.

If branch link is enabled, you can select it to be used with Web Page button in left navigation bar:

  • only one branch can be selected, tags not used

  • default branch is selected by default

  • if you you turn off branch link, Web Page button will be hidden

Pages for Bitbucket Server vs. websites on Bitbucket Cloud

The main difference between Pages for Bitbucket Server and the websites feature of Bitbucket Cloud is that we support websites on a repository level, not just on the account level. This brings the following advantages:

Websites on Bitbucket Cloud

Pages for Bitbucket Server

On Bitbucket Cloud you can only publish one repository per user.

With the Pages add-on you can publish as many repositories as you want.

On Bitbucket Cloud you can only publish a single branch of the repository.

With the Pages add-on you can serve static web pages from any branch or tag you like.

On Bitbucket Cloud the website is public on the internet. Anyone with the URL can access it.

The Pages add-on uses the permissions of the underlying repository, which allows you to control specifically who can access the pages and who not.

Bitbucket Cloud can only serve a website when the site's URL is <username>.bitbucket.org.

The Pages add-on allows you to use your own custom domain.