This is the frontend application driven by data from the Jenkins Plugin Site API.
The application is developed using React, Redux, Express, Webpack, and Reselect.
Production deployments use server side rendering to help ensure quality SEO results.
We welcome any enhancements and bugfixes, please see our guidelines on how you can contribute.
- node 6.9+
- yarn 0.18+
yarn
yarn start
Open http://localhost:5000
This is recommended for normal development as it uses webpack-dev-server and enables hot reloading so changes to code
are immediately detected and the application is recompiled. By default it communicates with https://plugins.jenkins.io/api
for the REST API. To specify a different location supply the REST_API_URL
environment variable.
yarn
yarn server
Open http://localhost:5000
This uses server side rendering to help ensure SEO results. This does not enable hot reloading.
If REST_API_URL
is unset it defaults to https://plugins.jenkins.io/api.
When using server side rendering, the application will download a header from an external location and inject itself
into the content and replace the view/index.hbs. This is intended for use in the Dockerfile production deployment.
By default the location is https://jenkins.io/plugins/index.html. To specify a different location supply the
HEADER_FILE
environment variable.
ESLint with React linting options have been enabled.
yarn lint
Execute tests via
yarn test
or run in watch mode
yarn test:watch
It's recommended the application be deployed via it's Dockerfile.
- Docker 1.12+
docker build -t jenkinsciinfra/plugin-site --rm --no-cache .
docker run -p 5000:5000 -it jenkinsciinfra/plugin-site
If REST_API_URL
is unset it defaults to https://plugins.jenkins.io/api. If HEADER_FILE
is unset it defaults to
https://jenkins.io/plugins/index.html