Build Dependency Packages versions Packages
Please use GNS3 WebUI bundled in gns3server and gns3.
On branch master you can find the latest codebase including under development features. If you are looking for stable version with features promoted to be included in the current/next release please switch to stable branch.
We're using yarn for packages installation:
yarn install
Increase the memory allocated to Node if you get JavaScript heap out of memory errors.
export NODE_OPTIONS=--max-old-space-size=8192
Visit gns3-server for guide how to run GNS3 server.
yarn ng serve
Application is accessible on http://127.0.0.1:4200/. The app will automatically reload if you change any of the source files.
For development you can also run the GNS3 Web UI in a container
bash scripts/docker_dev_webui.sh
yarn upgrade --latest
In special cases it's possible to build gns3server for GNS3 WebUI. This version is included in electronjs dist application.
python3 scripts/build.py build -b dist
Run yarn ng generate component component-name to generate a new component. You can also use yarn ng generate directive|pipe|service|class|module.
Run yarn ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the -prod flag for a production build.
Run yarn ng test to execute the unit tests via Karma.
Releases are named by the year and quarter when release is happening, e.g. January 2020 release is named 2020.1.X.
We're using version-bump-prompt for increasing version.
Install version-bump-prompt via:
npm install -g version-bump-prompt
If you would like to bump prepatch just type:
bump --prepatch --tag --push
We have got configured CircleCI, TravisCI and AppVeyor for distributing application for particular platform. In order to release you need to tag&push your changes from master.
First of all please remove dev from version in package.json (for instance 201920-alpha.4dev to 201920-alpha.4). Commit & push changes with message Release 201920-alpha.4 . Next step is to tag repository and push to origin:
git tag v2019.2.0-alpha.4
git push origin v2019.2.0-alpha.4
When artifacts are made you can see draft release here: gns3-web-ui releases which is waiting to be published.
After release please change current version in package.json to 201920-alpha.5dev'. Otherwise artifacts will be overwritten during the next commit. Don't forget to commit & push changes.
Checkout the latest master of gns3server. Run command ./scripts/update-bundled-web-ui.sh --tag=v2019.2.0-alpha.5. Commit & push changes with message Release 201920-alpha.4.
In case you would like to create a new staging release. Please create draft release on github, like 0.0.1-dev1. After successful build you can find artifacts there.
Please follow this guide: code-signing, use certmgr.msc exporting tool to limit the size of certificate.
If you want to contribute to GNS3 Web UI feel free to reach us at developers@gns3.net.