# DevOps та автоматизація CI/CD

> Вибрані роботи, що демонструють цю послугу.

- [Реорганізувала внутрішні процеси, заощадивши 8 000 годин завдяки вдосконаленню архітектури програмного забезпечення, систем та ефективності планування.](https://advisory.engineer.company/uk/portfolio/overhauled-internal-processes-saving-8-000-hours-by-38/)
- [Оптимізувала процеси CI/CD, заощадивши 4 000 годин завдяки впровадженню автоматизації в пайплайнах розробки програмного забезпечення.](https://advisory.engineer.company/uk/portfolio/streamlined-ci-cd-processes-saving-4-000-hours-42/)
- [Написала 578 цілей автоматизації go‑task, що охоплюють нативний, Docker- та HTTPS‑режими розробки, лінтинг, тестування, базу даних та розгортання.](https://advisory.engineer.company/uk/portfolio/authored-578-go-task-automation-targets-70/)
- [Встановила стандарт якості без жодних попереджень для шести мов — Go, TypeScript, SQL, Python, Shell і Markdown — дотримання якого забезпечували pre‑commit hooks.](https://advisory.engineer.company/uk/portfolio/set-a-zero-warnings-quality-bar-across-six-79/)
- [Автоматизувала командну співпрацю, керування паролями, управління завданнями та часом, а також створила напівавтоматичну систему демонстрації проєктів, підвищивши продуктивність команди.](https://advisory.engineer.company/uk/portfolio/automated-team-collaboration-password-management-task-and-time-89/)
- [Побудувала багаторівневий набір автоматизованих тестів — 981 тест Go, 543 фронтендні та браузерні специфікації, 494 поведінкові тести SQL — з мутаційним тестуванням, property‑based тестами та обов'язковою перевіркою доступності.](https://advisory.engineer.company/uk/portfolio/built-a-layered-automated-test-suite-across-four-layers-94/)
- [Побудувала механізм перевірок репозиторію — 268 зареєстрованих перевірок коміту, 277 правил лінтингу та 15 власних правил ESLint — а також 146 тестів самих перевірок, щоб стандарт тримала збірка, а не код‑рев'ю.](https://advisory.engineer.company/uk/portfolio/built-the-repository-s-guard-engine-of-268-checks-95/)
- [Запровадила безперервну програму безпеки — сканування коду, DAST, перевірки залежностей і вразливостей, генерацію SBOM, пошук секретів та actions, закріплені за SHA, — поряд із 21 письмовим аудитом безпеки.](https://advisory.engineer.company/uk/portfolio/established-a-continuous-security-programme-104/)
- [Побудувала перевірку перед комітом із 22 лінтерів, кожен з яких описується одним рядком, і ще п'ятьох, що заслуговують окремого абзацу, без рівня попереджень і без дозволу на вбудоване вимкнення правил, яка охоплює HTML, CSS, JavaScript, Python, YAML, Markdown, shell, посилання, орфографію, секрети й типографіку.](https://advisory.engineer.company/uk/portfolio/built-a-22-linter-commit-gate-127/)
- [Скоротила браузерну перевірку якості сайту з 1 636 секунд до 615, запускаючи перевірки від найдовших до найкоротших через пул воркерів, обмежений чотирма потоками, після того як виміряла, що алфавітний порядок коштував 320 секунд проти 224.](https://advisory.engineer.company/uk/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Охопила форматувальником і лінтером 10 242 рядки JavaScript у перевірках якості, з'ясувавши, що це найбільший обсяг коду в репозиторії і єдиний, який ніщо не перевіряло, — виправила 13 зауважень і не вимкнула жодного.](https://advisory.engineer.company/uk/portfolio/brought-the-quality-gate-code-under-a-linter-143/)
- [Покрила генератор 981 тестовим випадком із мінімальним порогом покриття гілок 92%, де попередження вважаються помилками, і перевірила ідемпотентність, двічі запустивши весь пайплайн збірки з порожнього файлу та вимагаючи, щоб другий прохід нічого не змінював.](https://advisory.engineer.company/uk/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Увімкнула всі правила лінтера Python як помилки й довела 1 815 зауважень до нуля; кожен із небагатьох винятків має письмове обґрунтування, а два з них підкріплені перевіркою, а не коментарем.](https://advisory.engineer.company/uk/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [Написала тести для самих перевірок, з'ясувавши, що перевірка, яка отримує лише чисті вхідні дані, одного дня звітуватиме про чистоту, бо нічого не прочитала: підклала помилку правопису, щоб підтвердити, що перевірка орфографії її знаходить, і взяла діапазон ідентифікаторів із бази даних, а не з числа в тесті.](https://advisory.engineer.company/uk/portfolio/wrote-tests-for-the-checkers-themselves-149/)
- [Виявила, що хуки комітів і гейт якості виконують різні перевірки, хоча документ обіцяв, що вони однакові, порівнявши два переліки в тесті, — п'ять перевірок, які запускалися лише вручну, були саме тими, що читали текст CV.](https://advisory.engineer.company/uk/portfolio/found-the-commit-hooks-and-the-gate-disagreeing-150/)
- [Написала парсер, який читає справжній C‑заголовок на 7 308 рядків і перевіряє кожне місце виклику, кожну константу переліку й те, що кожен клас‑власник вказівника є final, після того як через написаний вручну заголовок‑заглушку виклики трьох вилучених функцій компілювалися, лінкувалися й аварійно завершувалися.](https://advisory.engineer.company/uk/portfolio/wrote-a-parser-that-verifies-every-ffi-call-site-157/)
- [Скоротила набір тестів від шести тестів, що перевищували ліміт у шістдесят секунд, до 135 успішних за 8,9 секунди, профілюючи головний потік і прибравши два виклики, у яких він перебував 3 989 із 4 017 вибірок.](https://advisory.engineer.company/uk/portfolio/took-the-test-suite-under-nine-seconds-158/)
- [Привела чотири репозиторії до одного стандарту історії — conventional‑коміти, без емодзі, без рядків атрибуції, з контролем через хук повідомлень комітів, — поряд із 48 документами інструкцій, що визначають, як виконується робота.](https://advisory.engineer.company/uk/portfolio/held-five-repositories-to-one-history-standard-165/)

<https://advisory.engineer.company/uk/services/devops-cicd/>
