Deployment of Lighthouse CI through AWS-CDK onto AWS Fargate.
cdk deploy
lhci wizard
will yield something similar to:troy:/mnt/c/coderepo/lhci-fargate$ lhci wizard
? Which wizard do you want to run? new-project
? What is the URL of your LHCI server? https://lhci.example.com
? What would you like to name the project? tf-fargate
? Where is the project's code hosted? https://github.com/example/tf-fargate
? What branch is considered the repo's trunk or main branch? main
Create a .lighthouserc.js
file:
module.exports = {
ci: {
collect: {
url: "https://www.example.com",
maxAutodiscoverUrls: 3,
numberOfRuns: 2,
settings: {
chromeFlags: "--no-sandbox",
onlyCategories: ["performance", "best-practices", "accessibility", "seo"],
skipAudits: ['uses-http2', 'uses-long-cache-ttl', 'link-text']
}
},
upload: {
target: 'lhci',
serverBaseUrl: 'https://lhci.example.com',
token: 'example-000-example',
ignoreDuplicateBuildFailure: true,
allowOverwriteOfLatestBranchBuild: true
},
},
};
Add the buildToken
to the .lighthouserc.js
file to the token
value
Browse to the LHCI server (for example, https://lhci.example.com and click the gear
in the upper-hand left corner)
Add in the adminToken
to the field in the settings for the LH project
Run lhci autorun
to run the lh-cli
with the settings defined in the .lighthouserc.js
file
PS C:\coderepo\lhci-fargate> lhci autorun
✅ .lighthouseci/ directory writable
✅ Configuration file found
✅ Chrome installation found
⚠️ GitHub token not set
✅ Ancestor hash determinable
✅ LHCI server reachable
✅ LHCI server API-compatible
✅ LHCI server token valid
✅ LHCI server can accept a build for this commit hash
Healthcheck passed!
Running Lighthouse 2 time(s) on https://www.troydieter.com
Run #1...done.
Run #2...done.
Done running Lighthouse!
Saving CI project tf-fargate (780548b4-d479-4403-9500-e57f87b64d8d)
Saving CI build (9e77cb40-546e-4c64-b7b1-0ad538255d9b)
Saved LHR to https://lhci.troydieter.com (2d027171-faf1-40af-bbdb-a4cc8a04a4d5)
Saved LHR to https://lhci.troydieter.com (eef82c8e-cf94-4b3d-a76e-b4e7044e2096)
Done saving build results to Lighthouse CI
View build diff at https://lhci.troydieter.com/app/projects/tf-fargate/compare/9e77cb40-546e-4c64-b7b1-0ad538255d9b
No GitHub token set, skipping GitHub status check.
Done running autorun.
Observe the results on the lhci
server: https://lhci.example.com
EFS
filesystems when creating and destroying this CDK app (they may persist)EIP
's that may residednpm run build
compile typescript to jsnpm run watch
watch for changes and compilenpm run test
perform the jest unit testscdk deploy
deploy this stack to your default AWS account/regioncdk diff
compare deployed stack with current statecdk synth
emits the synthesized CloudFormation templateGenerated using TypeDoc