Open Source Highlights is where we share the best projects in Github, Gitee and other open source communities, including technical, learning, practical and interesting content. Keepfast is a performance analysis tool that analyzes a website’s resource build performance and page performance, generates performance reports, and provides optimization recommendations to make performance monitoring easier.
KeepFast introduction
main property:
- Analyze and generate build performance reports that visually compare build performance between two versions to identify build performance issues early
- Perform performance tests on the website based on Lighthouse, and give performance indicators and relevant suggestions in various aspects
- The built-in Gitee API supports the ability to generate a performance report for new commits as they arrive in the Gitee repository, tracking performance metrics and scores over time
install
npm install -g lighthouse @gitee/keepfast
use
Start by creating a configuration file for your project:
# Go to your project directory cd /path/to/your/repo# Initialize the configuration file keepfast init
Then modify the keepfast.config.js configuration file to complete the repository field information, and if your project is created and managed by the Vue CLI, leave the rest of the configuration as is.
Generate report
Run the performance test and output the report to the./report.json file:
keepfast report ./report.json
Upload report
The upload report will call the Gitee API, in order for keepfast to have permission to manipulate your repository, you need to provide a private token, which can be generated in the Settings > Private Token page, and then run the following command to add the environment variable:
export GITEE_API_ACCESS_TOKEN=Your private token
Then run the following command to upload the report:
keepfast upload ./report.json
The report is uploaded to the comment on the Pull Request if the current branch already has the corresponding Pull Request, otherwise to the comment on the current Commit details page.
Used in Gitee Go
Gitee Go is Gitee’s CI/CD(Continuous Build and Integration) service that enables users to automate build integration by customizing the build process.
Create a new pipeline file on the master branch of your repository using the following configuration:
name: keepfastdisplayName: keepfasttriggers: push: branches: - master - developsteps: - step: npmbuild@1 name: npm-build displayName: npm-build inputs: nodeVersion: 12.7 goals: >- yum clean all yum install -y epel-release yum -y update yum install -y chromium npm config set registry https://registry.npm.taobao.org export GITEE_API_ACCESS_TOKEN=$KEEPFAST_API_TOKEN export SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install npm install -g lighthouse @gitee/keepfast keepfast report ./report.json keepfast upload ./report.json
Then set the value of the KEEPFAST_API_TOKEN environment variable to your access token in the repository’s environment variables management page.