{"id":32903,"date":"2026-01-14T15:11:00","date_gmt":"2026-01-14T14:11:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=32903"},"modified":"2026-02-18T15:38:40","modified_gmt":"2026-02-18T14:38:40","slug":"automatyzacja-pipeline-kluczem-do-sukcesu-projektow-w-devops-dla-d365-fo-czesc-iv-kolejne-mozliwosci","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/automatyzacja-pipeline-kluczem-do-sukcesu-projektow-w-devops-dla-d365-fo-czesc-iv-kolejne-mozliwosci\/","title":{"rendered":"Automatyzacja pipeline kluczem do sukcesu projekt\u00f3w w DevOps dla D365 F&amp;O. Cz\u0119\u015b\u0107 IV \u2013 kolejne mo\u017cliwo\u015bci"},"content":{"rendered":"\n<p>Poni\u017cej znajdziesz IV cz\u0119\u015b\u0107 serii artyku\u0142\u00f3w \u201e<a href=\"https:\/\/sii.pl\/blog\/all\/pipeline-devops\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Automatyzacja pipeline kluczem do sukcesu projekt\u00f3w w DevOps dla D365 F&amp;O<\/a>\u201d rozszerzaj\u0105c\u0105 dotychczasowe tre\u015bci o kolejne praktyczne zastosowania automatyzacji pipeline\u2019\u00f3w DevOps, kt\u00f3re warto rozwa\u017cy\u0107 przy projektach z Dynamics 365 F&amp;O.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Dlaczego warto i\u015b\u0107 dalej ni\u017c CI\/CD?<\/strong><\/h2>\n\n\n\n<p>Dotychczasowe cz\u0119\u015bci artyku\u0142u (<a href=\"https:\/\/sii.pl\/blog\/all\/pipeline-devops\/\" target=\"_blank\" rel=\"noopener\" title=\"\">I\u2013III<\/a>) om\u00f3wi\u0142y podstawy pipeline\u2019\u00f3w DevOps, ich zastosowanie w projektach dla D365 F&amp;O oraz praktyczne przyk\u0142ady konfiguracji Azure DevOps Pipelines. W tej cz\u0119\u015bci zaprezentuj\u0119 kolejne <strong>praktyczne zastosowania automatyzacji pipeline\u2019\u00f3w, wykraczaj\u0105ce poza typowe CI\/CD<\/strong>, kt\u00f3re wzmacniaj\u0105 jako\u015b\u0107, stabilno\u015b\u0107 i szybko\u015b\u0107 dostarczania rozwi\u0105za\u0144 opartych na D365.<\/p>\n\n\n\n<p>Pipeline DevOps to znacznie wi\u0119cej ni\u017c kompilacja i wdro\u017cenie kodu \u2013 to zautomatyzowany przep\u0142yw pracy integruj\u0105cy <strong>testowanie, bezpiecze\u0144stwo, zarz\u0105dzanie konfiguracj\u0105, monitorowanie i sztuczn\u0105 inteligencj\u0119<\/strong>, kt\u00f3re w projektach klasy korporacyjnej staj\u0105 si\u0119 standardem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Rozszerzona automatyzacja test\u00f3w w pipeline\u2019ach<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Automatyczne testowanie funkcjonalne i regresyjne<\/strong><\/h3>\n\n\n\n<p>W tradycyjnych pipeline\u2019ach DevOps automatyczne testy obejmuj\u0105 testy jednostkowe i integracyjne. Jednak w projektach ERP, takich jak D365 F&amp;O, praktyczne zastosowania automatyzacji pipeline coraz cz\u0119\u015bciej obejmuj\u0105:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>testy regresyjne na szersz\u0105 skal\u0119<\/strong> \u2013 uruchamiane automatycznie po ka\u017cdym buildzie, obejmuj\u0105ce scenariusze end-to-end, by upewni\u0107 si\u0119, \u017ce zmiany nie \u0142ami\u0105 istniej\u0105cych proces\u00f3w biznesowych,<\/li>\n\n\n\n<li><strong>testy obci\u0105\u017ceniowe<\/strong> \u2013 wykonywane automatycznie podczas cykli testowych, aby sprawdzi\u0107 wydajno\u015b\u0107 transakcji finansowych przeci\u0105\u017ceniem danych.<\/li>\n<\/ul>\n\n\n\n<p>Automatyzacja takich test\u00f3w pozwala szybciej ujawnia\u0107 problemy przed wdro\u017ceniem oraz minimalizuje koszty naprawy b\u0142\u0119d\u00f3w w p\u00f3\u017aniejszych etapach.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Integracja jako\u015bci kodu i metryk technicznych<\/strong><\/h3>\n\n\n\n<p>Pipeline\u2019y mog\u0105 integrowa\u0107 narz\u0119dzia analizy jako\u015bci kodu oraz pomiar\u00f3w technicznych, takie jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>statyczna analiza kodu (linters, SonarQube),<\/li>\n\n\n\n<li>metryki techniczne: cyklomatyczna z\u0142o\u017cono\u015b\u0107, pokrycie testami.<\/li>\n<\/ul>\n\n\n\n<p>Dzi\u0119ki temu ka\u017cde zatwierdzenie mo\u017ce automatycznie otrzyma\u0107 ocen\u0119 jako\u015bci, a pipeline zatrzymuje si\u0119, je\u015bli metryki spadn\u0105 poni\u017cej ustalonego progu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Integracja bezpiecze\u0144stwa (\u201eDevSecOps\u201d) jako automatyczny etap pipeline<\/strong><\/h2>\n\n\n\n<p>W nowoczesnych organizacjach coraz cz\u0119\u015bciej zabezpieczenia s\u0105 automatycznie w\u0142\u0105czane w ka\u017cdym kroku pipeline\u2019a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Skanowanie bezpiecze\u0144stwa kodu i podatno\u015bci<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatyczne uruchamianie narz\u0119dzi SAST\/DAST w pipeline.<\/li>\n\n\n\n<li>Integracja z narz\u0119dziami bezpiecze\u0144stwa, kt\u00f3re analizuj\u0105 kod i zale\u017cno\u015bci pod k\u0105tem podatno\u015bci.<\/li>\n<\/ul>\n\n\n\n<p>Takie testy mog\u0105 by\u0107 wykonywane po ka\u017cdym commicie, zanim kod trafi na \u015brodowisko testowe. Dzi\u0119ki temu potencjalne luki s\u0105 identyfikowane wcze\u015bniej, a naprawy b\u0142\u0119d\u00f3w staj\u0105 si\u0119 ta\u0144sze i mniej ryzykowne.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Zgodno\u015b\u0107 z normami bezpiecze\u0144stwa i automatyczna walidacja<\/strong><\/h3>\n\n\n\n<p>W projektach, kt\u00f3re musz\u0105 spe\u0142nia\u0107 okre\u015blone standardy (np. bran\u017cowe normy bezpiecze\u0144stwa), pipeline mo\u017ce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>automatycznie weryfikowa\u0107 kompatybilno\u015b\u0107 z zestawem regu\u0142 bezpiecze\u0144stwa,<\/li>\n\n\n\n<li>generowa\u0107 raporty zgodno\u015bci,<\/li>\n\n\n\n<li>blokowa\u0107 post\u0119p pipeline\u2019a w przypadku narusze\u0144.<\/li>\n<\/ul>\n\n\n\n<p>Takie praktyki DevSecOps zapewniaj\u0105 bezpiecze\u0144stwo na ka\u017cdym etapie wdro\u017cenia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Infrastructure as Code (IaC) i automatyczne zarz\u0105dzanie \u015brodowiskami<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pipeline jako kod (PaC)<\/strong><\/h3>\n\n\n\n<p>Praktyka \u201ePipeline as Code\u201d oznacza, \u017ce definicje pipeline\u2019\u00f3w s\u0105 przechowywane w repozytorium kodu obok aplikacji. Dzi\u0119ki temu:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pipeline podlega wersjonowaniu,<\/li>\n\n\n\n<li>historia zmian jest jawna,<\/li>\n\n\n\n<li>mo\u017cna \u0142atwo odtwarza\u0107 stare konfiguracje.<\/li>\n<\/ul>\n\n\n\n<p>To sprawia, \u017ce pipeline\u2019y s\u0105 traktowane jako produkt, nie tylko konfiguracja narz\u0119dziowa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Automatyczne provisionowanie \u015brodowisk za pomoc\u0105 IaC<\/strong><\/h3>\n\n\n\n<p>Dzisiejsze pipeline\u2019y DevOps nie tylko buduj\u0105 i wdra\u017caj\u0105 kod \u2013 cz\u0119sto automatycznie provisionuj\u0105 infrastruktur\u0119:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>provisionowanie \u015brodowisk testowych lub pre-prod z u\u017cyciem Terraform, Ansible, Bicep,<\/li>\n\n\n\n<li>automatyczne konfigurowanie zasob\u00f3w chmurowych jako cz\u0119\u015b\u0107 pipeline\u2019a,<\/li>\n\n\n\n<li>zarz\u0105dzanie konfiguracj\u0105 \u015brodowisk za pomoc\u0105 kodu.<\/li>\n<\/ul>\n\n\n\n<p>Dzi\u0119ki temu \u015brodowiska s\u0105 sp\u00f3jne, powtarzalne i odtwarzalne, co minimalizuje ryzyko \u201edziwnych b\u0142\u0119d\u00f3w \u015brodowiskowych\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Automatyzacja wdro\u017ce\u0144 wieloetapowych i strategii rollout\u00f3w<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Deployment do wielu \u015brodowisk<\/strong><\/h3>\n\n\n\n<p>W praktyce enterprise pipeline\u2019y obs\u0142uguj\u0105 cz\u0119sto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>automatyczne wdro\u017cenia do \u015brodowisk dev \u2192 test \u2192 staging \u2192 produkcja,<\/li>\n\n\n\n<li>kontrolowane \u201ebramy\u201d (ang. pipeline gates), wymagaj\u0105ce manualnego zatwierdzenia tylko tam, gdzie jest to konieczne (np. przed produkcj\u0105).<\/li>\n<\/ul>\n\n\n\n<p>Taki workflow pozwala mie\u0107 pe\u0142n\u0105 kontrol\u0119 nad przebiegiem zmian i minimalizowa\u0107 ryzyko b\u0142\u0119d\u00f3w w \u015brodowisku produkcyjnym.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Zaawansowane strategie wdro\u017ceniowe<\/strong><\/h3>\n\n\n\n<p>Nowoczesne pipeline\u2019y wspieraj\u0105 techniki takie jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Canary releases<\/strong> \u2013 wdra\u017canie zmian tylko dla cz\u0119\u015bci u\u017cytkownik\u00f3w,<\/li>\n\n\n\n<li><strong>Blue-Green Deployments<\/strong> \u2013 prze\u0142\u0105czanie ruchu mi\u0119dzy dwoma identycznymi \u015brodowiskami,<\/li>\n\n\n\n<li><strong>Feature Flags<\/strong> \u2013 pseudo-toggling funkcjonalno\u015bci bez pe\u0142nego deployu.<\/li>\n<\/ul>\n\n\n\n<p>Dzi\u0119ki temu zmiany s\u0105 mniej ryzykowne, a rollback mo\u017ce by\u0107 wykonany b\u0142yskawicznie, bez du\u017cej ingerencji manualnej.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Monitoring, obserwowalno\u015b\u0107 i automatyczne reakcje w pipeline\u2019ach<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ci\u0105g\u0142y monitoring jako cz\u0119\u015b\u0107 pipeline\u2019u<\/strong><\/h3>\n\n\n\n<p>Automatyzacja pipeline\u2019u powinna obejmowa\u0107 r\u00f3wnie\u017c monitoring:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>integracja pipeline\u2019\u00f3w z narz\u0119dziami monitoruj\u0105cymi (Prometheus, Grafana, ELK),<\/li>\n\n\n\n<li>automatyczne alarmy i reakcje, je\u015bli metryki wydajno\u015bci lub bezpiecze\u0144stwa przekraczaj\u0105 progi,<\/li>\n\n\n\n<li>analiza log\u00f3w jako cz\u0119\u015b\u0107 pipeline\u2019u testowego.<\/li>\n<\/ul>\n\n\n\n<p>Takie rozwi\u0105zania sprawiaj\u0105, \u017ce pipeline nie ko\u0144czy si\u0119 na wdro\u017ceniu, a obserwuje aplikacj\u0119 w czasie rzeczywistym i reaguje na problemy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Automatyczne rollbacks i self-healing<\/strong><\/h3>\n\n\n\n<p>W zaawansowanych automatyzacjach pipeline mo\u017ce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>samoczynnie wycofa\u0107 wdro\u017cenie w razie krytycznych b\u0142\u0119d\u00f3w,<\/li>\n\n\n\n<li>uruchomi\u0107 procedury naprawcze lub eskalacyjne,<\/li>\n\n\n\n<li>powiadamia\u0107 odpowiednie zespo\u0142y o wykrytych problemach.<\/li>\n<\/ul>\n\n\n\n<p>To wszystko minimalizuje czas niedost\u0119pno\u015bci us\u0142ug i zwi\u0119ksza dost\u0119pno\u015b\u0107 system\u00f3w.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Integracja AI\/ML i automatyzacja zaawansowanych decyzji pipeline<\/strong><\/h2>\n\n\n\n<p>Nowym trendem w automatyzacji pipeline jest wykorzystanie <strong>AI\/ML do wspomagania decyzji<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>algorytmy mog\u0105 przewidywa\u0107 ryzyko awarii na podstawie historii pipeline\u2019\u00f3w,<\/li>\n\n\n\n<li>sztuczna inteligencja mo\u017ce sugerowa\u0107 optymalne strategie testowania,<\/li>\n\n\n\n<li>automatyczne rekomendacje s\u0105 bardziej precyzyjne ni\u017c statyczne regu\u0142y.<\/li>\n<\/ul>\n\n\n\n<p>Takie rozwi\u0105zania zmierzaj\u0105 w kierunku \u201einteligentnych pipeline\u2019\u00f3w\u201d, kt\u00f3re nie tylko wykonuj\u0105 zadania, lecz r\u00f3wnie\u017c ucz\u0105 si\u0119 z danych i poprawiaj\u0105 proces dostarczania w czasie rzeczywistym.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Praktyczne wyzwania i wskaz\u00f3wki przy automatyzacji<\/strong><\/h2>\n\n\n\n<p>Automatyzacja pipeline\u2019\u00f3w stanowi znacz\u0105c\u0105 przewag\u0119, ale wymaga \u015bwiadomo\u015bci kilku kluczowych aspekt\u00f3w:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>projektuj pipeline modularnie<\/strong> \u2013 niezale\u017cne etapy \u0142atwiej debugowa\u0107,<\/li>\n\n\n\n<li><strong>testuj ka\u017cdy krok pipeline\u2019a<\/strong> \u2013 b\u0142\u0119dy w pipeline cz\u0119sto powa\u017cniej wp\u0142ywaj\u0105 ni\u017c b\u0142\u0119dy aplikacji,<\/li>\n\n\n\n<li><strong>ustal mierzalne KPI<\/strong> \u2013 czas buildu, czas wdro\u017cenia, czas reakcji na b\u0142\u0119dy,<\/li>\n\n\n\n<li><strong>automatyzuj testy bezpiecze\u0144stwa, zanim wdro\u017cysz na produkcj\u0119,<\/strong><\/li>\n\n\n\n<li><strong>integruj monitoring automatycznie \u2013 od \u015brodowiska dev po produkcj\u0119.<\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Testy jednostkowe X++ w pipeline \u2013 przyk\u0142ad<\/strong><\/h2>\n\n\n\n<p>W D365 F&amp;O testy jednostkowe s\u0105 zwykle realizowane za pomoc\u0105 SysTest \/ ATL (Automated Test Library).<\/p>\n\n\n\n<p><strong>Przyk\u0142ad etapu YAML \u2013 uruchomienie test\u00f3w X++<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n- stage: UnitTests\n  displayName: &#039;X++ Unit Tests&#039;\n  dependsOn: Build\n  jobs:\n    - job: RunUnitTests\n      displayName: &#039;Run X++ Unit Tests&#039;\n      pool:\n        vmImage: &#039;windows-latest&#039;\n      steps:\n        - task: PowerShell@1\n          displayName: &#039;Execute X++ Unit Tests&#039;\n          inputs:\n            targetType: &#039;inline&#039;\n            script: |\n              Write-Host &quot;Running X++ unit tests...&quot;\n              &amp; &quot;C:\\Program Files\\Microsoft Dynamics 365\\10.0.46\\bin\\xppc.exe&quot; `\n                -runTests `\n                -testSuite &quot;FinanceUnitTests&quot;\n<\/pre><\/div>\n\n\n<p><strong>Jakie s\u0105 tego korzy\u015bci?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>testy uruchamiaj\u0105 si\u0119 automatycznie po buildzie,<\/li>\n\n\n\n<li>pipeline zatrzyma si\u0119, je\u015bli testy nie przejd\u0105,<\/li>\n\n\n\n<li>eliminacja r\u0119cznego uruchamiania test\u00f3w w \u015brodowisku DEV.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/oferty-pracy\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"737\" height=\"170\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/01\/praca-m.jpg\" alt=\"oferty pracy\" class=\"wp-image-32904\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/01\/praca-m.jpg 737w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/01\/praca-m-300x69.jpg 300w\" sizes=\"(max-width: 737px) 100vw, 737px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Automatyzacja pipeline w DevOps dla D365 F&amp;O to ju\u017c nie tylko kompilacja i wdro\u017cenie. To holistyczny system, kt\u00f3ry:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>automatyzuje <strong>testowanie, analiz\u0119 jako\u015bci i rozwi\u0105zania bezpiecze\u0144stwa,<\/strong><\/li>\n\n\n\n<li>zarz\u0105dza <strong>infrastruktur\u0105 jako kod,<\/strong><\/li>\n\n\n\n<li>wspiera <strong>wieloetapowe wdro\u017cenia i strategie rollout\u00f3w,<\/strong><\/li>\n\n\n\n<li>integruje <strong>monitoring i obserwowalno\u015b\u0107<\/strong>,<\/li>\n\n\n\n<li>wykorzystuje <strong>AI\/ML do optymalizacji proces\u00f3w.<\/strong><\/li>\n<\/ul>\n\n\n\n<p>W\u0142a\u015bciwie zaprojektowany pipeline to fundament skutecznej strategii DevOps, kt\u00f3ry nie tylko skraca czas wdro\u017ce\u0144, ale r\u00f3wnie\u017c podnosi jako\u015b\u0107, stabilno\u015b\u0107 i bezpiecze\u0144stwo rozwi\u0105za\u0144 D365 F&amp;O.<\/p>\n\n\n\n<p>W kolejnych artyku\u0142ach zaprezentuj\u0119 inne przyk\u0142ady kodu YAML dla automatyzacji pipeline we wdro\u017ceniach D365 F&amp;O.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;32903&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 ( votes: 0)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Automatyzacja pipeline kluczem do sukcesu projekt\u00f3w w DevOps dla D365 F\\u0026amp;O. Cz\u0119\u015b\u0107 IV \u2013 kolejne mo\u017cliwo\u015bci&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Poni\u017cej znajdziesz IV cz\u0119\u015b\u0107 serii artyku\u0142\u00f3w \u201eAutomatyzacja pipeline kluczem do sukcesu projekt\u00f3w w DevOps dla D365 F&amp;O\u201d rozszerzaj\u0105c\u0105 dotychczasowe tre\u015bci &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/automatyzacja-pipeline-kluczem-do-sukcesu-projektow-w-devops-dla-d365-fo-czesc-iv-kolejne-mozliwosci\/\">Continued<\/a><\/p>\n","protected":false},"author":156,"featured_media":32906,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[2656,2654,1546,1512,529],"class_list":["post-32903","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-pipeline-devops","tag-d365-fo","tag-przeglad-narzedzi","tag-poradnik","tag-d365"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/01\/Programming-2.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/32903"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/156"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=32903"}],"version-history":[{"count":1,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/32903\/revisions"}],"predecessor-version":[{"id":32908,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/32903\/revisions\/32908"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/32906"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=32903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=32903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=32903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}