This repository has been archived by the owner on Feb 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
DevSecOps Implemented
Aaron Burk edited this page Jul 16, 2020
·
2 revisions
-
Technology stack: Node.js, Angular 7, PostgreSQL, Docker, Jenkins, Sonarqube
-
Three long running branches “master” “dev” and “staging” with a transient number of feature branches
- Internal workflow as depicted both failed and successful above:
- Create a feature branch off the dev branch
- Commit changes to feature branch
- If tests pass: Create a “pull request” (pr) targeting the dev branch
- Merge PR after it has been peer reviewed
- Run existing tests, plus build tasks and tests
- Delete feature branch after Jenkins builds and Deploys the application
- High level view of the deployment pipeline:
- Provides a view into a specific deployment, how long a deployment took and what tests passed/failed.
- Gives you drill down capabilities into logs for each test to assist with remediating issues and dependencies.
-
Complete A-Z Build Time from push: 15-20min
-
If any of these tests fail, the request gets kicked back.
-
Tests that run:
-
Pa11y: 508 accessibility compliance testing to WCAG2AA standards.
- Pa11y is a command line tool that uses HTML CodeSniffer in PhantomJS that reports common errors found in both human and machine readable formats.
- Documentation for Pa11y can be found here
-
esLint: Checks all code for pre-defined formatting.
- esLint is a completely pluggable tool that identifies problematic patterns and covers both code quality and coding style issues.
- Learn more about esLint here
-
Sonarqube: Vulnerability testing.
- Sonarqube is an open source platform that does continuous automatic code reviews to detect bugs and vulnerabilities on 20+ programming languages.
- Documentation for Sonarqube can be found here
-
Unit-Testing: Every Angular component has an accompanying Unit test built to ensure all code is functioning the way it should.
- To learn more about Angular Unit Testing, check here
-
End to End Testing: Building and testing the entire application and suite of tests against itself.
- To learn more about End to End Testing, check here
-
How we work
- Overview
- Onboarding Checklist
- Roles
- Agile Principles
- Skill area heuristics
- Open Forest design system
- Updating Christmas tree content
- Pilot customer response process
- POSS to FLREA Tracking
- Sprint Research Process
- Annual gap analysis process
- Manual accessibility testing process
- Feedback Tool
- Contracting and Task order Information
Technical Information
Past efforts
User Research
- Discovery Research
- Entry points to ePermit (June 2017)
- FLREA discovery sprint (July 2017)
- Law Enforcement Officer discovery sprint findings (December 2017)
- Naming the Open Forest platform
- GitHub repo research brief
- Usability Testing - for Christmas Trees
- Usability Testing - Special Uses (Non-Commercial and Outfitters modules)
- Research Plan - Update Sprint Number (Issue 489)
- Research Plan - Special Use permits evaluation content (June 2019)
- Usability Testing - Special Use permits evaluation content (June 2019)
- Research Plan - Manage User Access (Fall/Winter 2019)
Support
Support Manual
Support Guide for Frontline Staff
- Intro
- Why isn't something working?
- Where do I go to gather my firewood?
- I cannot print my permit.
- I don’t understand how to navigate through Open Forest, or how to purchase my permit online.
- I do not know how to gather firewood.
- I don’t want to purchase my permit online.
- I am not sure about the process to purchase online.
- Pay.gov looks different, is this a real site?
- What am I supposed to do with my permit once it is printed?
- I want to share my experience using Open Forest.