# DevOps och CI/CD‑automatisering

> Utvalt arbete som visar den här tjänsten.

- [Automatiserade driftsättningen av en GIS‑applikation som SaaS, databearbetningen och rapporteringssystemet med GitHub Actions CI/CD, Python, Bash och SQL.](https://software.engineer.company/sv/portfolio/automated-gis-saas-application-deployment-data-processing-and-16/)
- [Automatiserade leveransen av 20 GIS‑datapipelines och ETL‑processer för applikationsdata, vilket effektiviserade infrastrukturautomatiseringen och rapporteringen.](https://software.engineer.company/sv/portfolio/automated-delivery-of-20-gis-data-pipelines-and-17/)
- [Gjorde en genomgripande översyn av de interna processerna och sparade 8 000 timmar genom att förbättra mjukvaruarkitekturen, systemen och effektiviteten i schemaläggningen.](https://software.engineer.company/sv/portfolio/overhauled-internal-processes-saving-8-000-hours-by-38/)
- [Gjorde budgetkostnaderna 10 gånger lägre utan någon förlust i produktivitet för en internationell kund genom att tänka om hela infrastrukturen, ta bort onödiga tjänster och flytta från AWS‑molnet.](https://software.engineer.company/sv/portfolio/optimized-budget-costs-10-times-with-zero-loss-56/)
- [Genererade API‑kontraktet utåt från databasen — OpenAPI, en typad TypeScript‑klient på 44 076 rader, 61 mock‑hanterare och de gränser som gränssnittet upprätthåller — med en spärr i varje led som fäller vid avvikelse.](https://software.engineer.company/sv/portfolio/built-a-request-schema-validation-contract-with-automated-61/)
- [Utformade och byggde, som en av de första anställda, hela kärninfrastrukturen och de stödjande processerna från noll för en SaaS‑startup inom grön energi och lade grunden för snabb tillväxt.](https://software.engineer.company/sv/portfolio/as-one-of-the-first-hires-designed-and-86/)
- [Byggde en skiktad automatiserad testsvit — 981 Go‑tester, 543 specifikationer för frontend och webbläsare, 494 beteendetester i SQL — med mutationstestning, egenskapsbaserade tester och en tillgänglighetsgrind.](https://software.engineer.company/sv/portfolio/built-a-layered-automated-test-suite-across-four-layers-94/)
- [Byggde egen felövervakning och OpenTelemetry‑spårning i stället för att köpa dem — sanering av nyttolaster, upptäckt av toppar och regressioner, symbolisering och ett syntetiskt hjärtslag — bakom 11 operatörsvyer.](https://software.engineer.company/sv/portfolio/built-first-party-error-monitoring-and-tracing-98/)
- [Driftsatte företagets egen git‑forge på Soft Serve, privat som standard, utan webbpanel och med SSH‑porten bunden till loopback bakom en hoppserver, och gjorde landningssidan framför den till en byggartefakt från huvudwebbplatsen i stället för en manuellt underhållen kopia.](https://software.engineer.company/sv/portfolio/deployed-the-companys-own-git-forge-121/)
- [Kortade webbplatsens webbläsarstyrda kvalitetsgrind från 1 636 sekunder till 615 genom att schemalägga kontrollerna med den längsta först i en workerpool begränsad till fyra spår, efter att ha mätt att alfabetisk ordning kostade 320 sekunder mot 224.](https://software.engineer.company/sv/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Speglade hela webbplatsen som 777 Gemini‑dokument och 777 Gopher‑dokument från samma driftsatta träd, utan en enda byte ändrad i HTML‑koden.](https://software.engineer.company/sv/portfolio/mirrored-the-site-to-gemini-and-gopher-137/)
- [Rättade en sitemap där 172 av 176 URL:er delade samma ändringstidsstämpel genom att hämta datumet ur git‑historiken, efter att ha konstaterat att exporten skriver om varje fil vid varje körning.](https://software.engineer.company/sv/portfolio/fixed-a-sitemap-with-one-shared-timestamp-140/)
- [Förde in 10 242 rader JavaScript för kvalitetsgrinden under en formaterare och en linter efter att ha konstaterat att det var den största kodmassan i repot och den enda som inget läste, och åtgärdade 13 fynd utan att undertrycka något.](https://software.engineer.company/sv/portfolio/brought-the-quality-gate-code-under-a-linter-143/)
- [Krävde 981 testfall och minst 92 % grentäckning av generatorn, med varningar behandlade som fel, och säkerställde idempotens genom att köra hela byggpipelinen två gånger från en tom fil och kräva att den andra körningen inte ändrade något.](https://software.engineer.company/sv/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Aktiverade varje regel i Python‑lintern på felnivå och arbetade igenom 1 815 fynd ned till noll, där vart och ett av de få undantagen har ett skriftligt skäl och två av dem backas upp av en kontroll i stället för en kommentar.](https://software.engineer.company/sv/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [Skrev en parser som läser den verkliga C‑headern på 7 308 rader och verifierar varje anropsställe, varje enum‑konstant och att varje klass som äger en pekare är final, efter att en handskriven platshållarheader hade låtit anrop till tre borttagna funktioner kompilera, länka och krascha.](https://software.engineer.company/sv/portfolio/wrote-a-parser-that-verifies-every-ffi-call-site-157/)
- [Tog i bruk den hälft av meddelandekärnan som applikationen aldrig hade använt — överföring av säkerhetskopior, försvinnande meddelanden, redigering och omsändning av meddelanden, verifierade inbjudningar, proxyer och krypteringspolicy — och körde varje test mot det riktiga biblioteket utan mockar.](https://software.engineer.company/sv/portfolio/reached-the-unused-half-of-the-messaging-core-161/)

<https://software.engineer.company/sv/services/devops-cicd/>
