# Automatisering & CI/CD

> Udvalgt arbejde fra Engineer ApS, der demonstrerer Automatisering & CI/CD — resultaterne, der beviser det.

- [Har forbedret teamets kommunikation og samarbejde ved at implementere Slack, Mattermost, 1Password og Jira og sparet 8.000 arbejdstimer.](https://advisory.engineer.company/da/portfolio/improved-team-communication-and-collaboration-by-implementing-slack-34/)
- [Har gennemgribende fornyet interne processer og sparet 8.000 timer ved at forbedre softwarearkitektur, systemer og planlægningseffektivitet.](https://advisory.engineer.company/da/portfolio/overhauled-internal-processes-saving-8-000-hours-by-38/)
- [Har strømlinet CI/CD‑processer og sparet 4.000 timer ved at indføre automatisering i softwareudviklingspipelines.](https://advisory.engineer.company/da/portfolio/streamlined-ci-cd-processes-saving-4-000-hours-42/)
- [Har udviklet et rapporteringssystem til dataanalyse og øget den kvartalsvise softwareomsætning med 400 % gennem Python‑baserede PDF‑rapporter.](https://advisory.engineer.company/da/portfolio/developed-a-data-analytics-reporting-system-increasing-quarterly-44/)
- [Har forbedret projekteffektiviteten og sparet 150 timer om måneden på tværs af 30 projekter ved at optimere workflows og ressourcestyring.](https://advisory.engineer.company/da/portfolio/enhanced-project-efficiency-saving-150-hours-per-month-46/)
- [Har skrevet 578 go‑task‑automatiseringsmål på tværs af native-, Docker- og HTTPS‑udviklingstilstande, linting, test, database og deployment.](https://advisory.engineer.company/da/portfolio/authored-578-go-task-automation-targets-70/)
- [Har sat en zero‑warnings‑kvalitetsstandard på tværs af seks sprog — Go, TypeScript, SQL, Python, Shell og Markdown — håndhævet af pre‑commit‑hooks.](https://advisory.engineer.company/da/portfolio/set-a-zero-warnings-quality-bar-across-six-79/)
- [Har designet et tids- og rapporteringssystem, der forblev i produktion i årevis uden væsentlige ændringer.](https://advisory.engineer.company/da/portfolio/designed-a-time-management-and-reporting-system-that-88/)
- [Har automatiseret teamsamarbejde, adgangskodehåndtering, opgave- og tidsstyring og bygget et semi‑automatisk projektvisningssystem, hvilket øgede teamets produktivitet.](https://advisory.engineer.company/da/portfolio/automated-team-collaboration-password-management-task-and-time-89/)
- [Har bygget en lagdelt automatiseret testsuite — 981 Go‑tests, 543 frontend- og browserspecs, 494 SQL‑adfærdstests — med mutationstest, property‑based tests og en tilgængelighedsgate.](https://advisory.engineer.company/da/portfolio/built-a-layered-automated-test-suite-across-four-layers-94/)
- [Har bygget kodebasens guard‑motor — 268 registrerede commit‑tjek, 277 lint‑regler og 15 egne ESLint‑regler — plus 146 tests af selve tjekkene, så det er builden, der holder standarden, ikke reviewet.](https://advisory.engineer.company/da/portfolio/built-the-repository-s-guard-engine-of-268-checks-95/)
- [Har etableret et løbende sikkerhedsprogram — code scanning, DAST, afhængigheds- og sårbarhedstjek, SBOM‑generering, secret scanning og SHA‑pinnede actions — sammen med 21 skrevne sikkerhedsaudits.](https://advisory.engineer.company/da/portfolio/established-a-continuous-security-programme-104/)
- [Har bygget syv skrivebeskyttede rapporteringsroller, der gengiver en levende vært som Markdown — fakta, adgang, git, metrikker, trafik, sikkerhed og udbyderinventar — under en regel om, at intet tal printes, som kørslen ikke har målt.](https://advisory.engineer.company/da/portfolio/built-seven-read-only-host-reporting-roles-120/)
- [Har skrevet en scoperegel ind i kodebasen, efter at en omstrukturering bar en anden virksomheds inventar, firewalltilladelser og prosa med ind i den — og har holdt det karantæneramte restmateriale under hemmelighedsscanneren frem for at udelukke det.](https://advisory.engineer.company/da/portfolio/wrote-a-scope-rule-after-a-credential-leak-124/)
- [Har bygget en commit‑gate af 22 en‑linjes lintere plus fem, der fortjener et afsnit, uden et advarselsniveau og uden tilladte inline‑undertrykkelser, med dækning af HTML, CSS, JavaScript, Python, YAML, Markdown, shell, links, stavning, hemmeligheder og typografi.](https://advisory.engineer.company/da/portfolio/built-a-22-linter-commit-gate-127/)
- [Har skåret sitets browserdrevne kvalitetsgate fra 1.636 sekunder til 615 ved at planlægge dens tjek længst‑først gennem en worker‑pulje begrænset til fire baner, efter at have målt at alfabetisk rækkefølge kostede 320 sekunder mod 224.](https://advisory.engineer.company/da/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Har sat dokumentationen under sin egen linter — et linjebudget pr. fil, der kun skruer nedad, et indekskrav og et tjek af faktiske stier — som fandt seks af ni planer markeret som færdige, mens de bar uafkrydsede felter, og fjorten opgaver, der spærrede hver commit uden at være nævnt i noget dokument.](https://advisory.engineer.company/da/portfolio/put-the-documentation-under-its-own-linter-142/)
- [Har bragt 10.242 linjer kvalitetsgate‑JavaScript under en formatter og en linter efter at have fastslået, at det var kodebasens største kodemængde og den eneste, intet læste, og har rettet 13 fund uden at undertrykke nogen.](https://advisory.engineer.company/da/portfolio/brought-the-quality-gate-code-under-a-linter-143/)
- [Har holdt generatoren til 981 testtilfælde med et dækningsgulv på 92 % grendækning og advarsler behandlet som fejl, og har hævdet idempotens ved at køre hele build‑pipelinen to gange fra en tom fil og kræve, at anden gennemløb intet ændrer.](https://advisory.engineer.company/da/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Har etableret PDF/UA‑1‑konformitet på tværs af ni dokumenter ved 106 af 106 regler og har fundet arkivvarianten fejle én regel ud af 146 — et nærved‑resultat, der læses som bestået af enhver, der ikke kører validatoren.](https://advisory.engineer.company/da/portfolio/established-pdf-ua-1-conformance-across-nine-documents-146/)
- [Har valgt hver eneste regel, Python‑linteren har, som fejl og har arbejdet 1.815 fund ned til nul, hvor hver af de få undtagelser bærer en skreven begrundelse og to af dem er understøttet af et tjek frem for en kommentar.](https://advisory.engineer.company/da/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [Har skrevet tests af selve tjekkene efter at have fastslået, at et tjek, der kun fodres med rent input, en dag melder rent, fordi det intet læste — ved at plante en stavefejl for at bekræfte, at stavekontrollen finder den, og ved at tage et id‑interval fra databasen frem for fra et tal i testen.](https://advisory.engineer.company/da/portfolio/wrote-tests-for-the-checkers-themselves-149/)
- [Har fundet commit‑hooks og kvalitetsgaten køre forskellige tjek, mens et dokument lovede, at de var de samme, ved at sammenligne de to lister i en test — de fem, der kun nogensinde kørte i hånden, var dem, der læste CV‑prosaen.](https://advisory.engineer.company/da/portfolio/found-the-commit-hooks-and-the-gate-disagreeing-150/)
- [Har bygget et tværsprogligt indholdstjek, der fejler, når en oversættelse taber et tal, det engelske angiver, og når et sprog bruger notation, det ikke bruger — og har fundet to danske beskrivelser, der manglede en metrik, og seksten ukrainske spænd, der citerede på engelsk vis.](https://advisory.engineer.company/da/portfolio/built-a-cross-language-figure-and-notation-check-153/)
- [Har skrevet en parser, der læser den rigtige C‑header på 7.308 linjer og verificerer hvert kaldssted, hver enum‑konstant og at hver pegerejende klasse er final, efter at en håndskrevet pladsholder‑header lod kald til tre fjernede funktioner kompilere, linke og crashe.](https://advisory.engineer.company/da/portfolio/wrote-a-parser-that-verifies-every-ffi-call-site-157/)
- [Har taget testsuiten fra seks tests over en grænse på tres sekunder til 135 beståede på 8,9 sekunder ved at profilere hovedtråden og fjerne de to kald, den sad inde i i 3.989 ud af 4.017 stikprøver.](https://advisory.engineer.company/da/portfolio/took-the-test-suite-under-nine-seconds-158/)
- [Har holdt fire kodebaser til én historikstandard — konventionel, uden emojis, uden attributionslinjer, håndhævet af en commit‑message‑hook — sammen med 46 instruktionsdokumenter, der styrer, hvordan arbejdet udføres.](https://advisory.engineer.company/da/portfolio/held-five-repositories-to-one-history-standard-165/)

<https://advisory.engineer.company/da/categories/automation/>
