- About The Project
- Getting Started Building a Local Deployment of the Tanzu Developer Center
- Troubleshooting
- Open Projects, Issues, and Content Backlog
- Contributing
- Code of Conduct
- Tanzu Developer Center Open Source License
About The Project
The VMware Tanzu Developer Center is a site specifically built to be a great resource for software development teams. The contributions on the Tanzu Developer Center are from teams across VMware, as well as individuals without.
Our guiding principle is to ensure readers have free, immediate access to all the content on the Tanzu Developer Center. No purchase is ever necessary to access content on the Tanzu Developer Center because it is either open source or an easily accessible trial.
Getting Started Building a Local Deployment of the Tanzu Developer Center
Before you can build a local copy of the Tanzu Developer Center, there are software prerequisites that you’re going to need to install.
Note: The instructions below are primarily designed for Mac users. While you should be able to make things work on Windows as well, it may require a few additional steps. (For example, using make
should work natively on a Mac with Xcode dev tools installed, but requires a special installation for Windows.
Requirements for Local Development / Build
Software Installation Prerequisites
-
Install Hugo — The VMware Tanzu Developer Center uses Hugo to build the site from Markdown files. You'll need to get Hugo if you want to build and run the site locally. Make sure you install the extended version with support for SCSS/SASS. This site pins
hugo
to a specific version (currently 0.107.0) to build so if you're using a different version, your experience may vary. To installhugo
, follow the instructions for your specific environment as detailed in the hugo documentation. Ultimately, you have two main options:- Download the correct extended binary for your OS from gohugo GitHub releases page for 0.107.0 and then move the
hugo
binary to an appropriate location (ie.sudo cp hugo /usr/local/bin
) and/or add it to yourPATH
. - Use
brew install hugo
andbrew pin hugo
to pin it to the correct version (0.107.0). (MacOS only.)
- Download the correct extended binary for your OS from gohugo GitHub releases page for 0.107.0 and then move the
-
Install Node (and NPM) — Certain features of the site require Node in order to build (PostCSS, Autoprefixer, etc.), and the Node Package Manager (npm) is also used to manage local packages. If you don’t already have Node installed, you’ll need it in order to build the site. Though it may work with different versions, you should use the same ones that Netlify does, which are Node 16 (as defined in the .nvmrc file at the root) and npm 8 (the corresponding version that comes with Node 16). You may download and install Node or use
brew
to install it:brew install node@16
Note: The reason the .nvmrc is required even though the default should already be v16 for default image that Netlify is set to use - Ubuntu Focal 20.04 - when the site repository was originally linked Netlify, it was using an older image that defaulted to v12, so it must be specified explicitly in the .nvmrc file. (See this article for more details.
-
Install act — The Tanzu Developer Center uses GitHub Actions to perform automated testing periodically, and on pull requests. If you plan to run these tests locally, you will need
act
. Follow these instructions to installact
, or usebrew
:brew install act
-
Install Docker — The
act
tool depends upon Docker to build images for local automated tests. You can download Docker Desktop or usebrew
:brew install docker --cask
Note: Mac OS X requires Docker Desktop 2.4 or later
Run a Local Copy of the Tanzu Developer Center
To get a local copy of the Tanzu Developer Center up and running, follow these steps:
-
Clone the repository.
git clone --recurse-submodules https://github.com/vmware-tanzu/tanzu-dev-portal.git
-
Build a preview of the website. The website will be available at
http://localhost:1313/developer
.make preview
Troubleshooting
themes/docsy
Q. I'm receiving an error about cloning With the change with how the theme files are overridden, the first time you update your branch you may see the following issue when running make preview
:
git submodule update --init --recursive
Submodule 'themes/docsy' (https://github.com/google/docsy.git) registered for path 'themes/docsy'
fatal: not a git repository: /private/tmp/tanzu-dev-portal/themes/docsy/../../.git/modules/themes/docsy
Failed to clone 'themes/docsy'. Retry scheduled
BUG: submodule considered for cloning, doesn't need cloning any more?
fatal: could not get a repository handle for submodule 'themes/docsy'
make: *** [theme] Error 1
You can run the following command for a one-time fix:
make clean-submodule
make preview
is throwing a fatal error: pipe failed
error
Q. This is due to the number of files that are opened during the process of building the site. If you're on OSX, this can be addressed with the following command:
sudo launchctl limit maxfiles 65535 200000
ulimit -n 65535
sudo sysctl -w kern.maxfiles=100000
sudo sysctl -w kern.maxfilesperproc=65535
make preview
doesn't work
Q. I am on Windows and On Windows, you may need to use hugo server -D
to start the application. The site will then be available on http://localhost:1313/
Open Projects, Issues, and Content Backlog
See the open issues and project boards for a list of proposed features, content backlog, and known issues.
Contributing
Content contributions are what make open source and the developer community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Contributing Code
The code contribution process is documented in CONTRIBUTING.md.
Contributing Content
The content contribution process is documented fully on our GitHub wiki site and includes methods for both VMware employees as well as non-employees to contribute to content or bug fixes.
Code of Conduct
We, the Admin team of the Tanzu Developer Center adhere to a code of conduct available here: CODE_OF_CONDUCT.md.
Tanzu Developer Center Open Source License
The Tanzu Developer Center is distributed under the Apache License. For more information, see LICENSE.