{"id":553,"date":"2019-03-03T10:45:12","date_gmt":"2019-03-03T10:45:12","guid":{"rendered":"http:\/\/www.iprogrammable.com\/?p=553"},"modified":"2019-04-11T09:09:59","modified_gmt":"2019-04-11T09:09:59","slug":"mcet-sec","status":"publish","type":"post","link":"https:\/\/www.iprogrammable.com\/pl\/2019\/03\/03\/mcet-sec\/","title":{"rendered":"MCET-SEC"},"content":{"rendered":"<p><\/p>\n<p style=\"text-align: justify;\">Min\u0119\u0142o naprawd\u0119 sporo od kiedy opublikowane zosta\u0142o ,,<a href=\"https:\/\/www.amazon.com\/Continuous-Integration-NET-Marcin-Kawalerowicz\/dp\/1935182552\">Continuous Integration in .NET<\/a>\u201d. Up\u0142yw czasu jest widoczny szczeg\u00f3lnie w kontek\u015bcie tak pr\u0119\u017cnie rozwijaj\u0105cej si\u0119 dziedziny jak\u0105 jest in\u017cynieria oprogramowania. Ponad osiem lat temu kiedy razem z Craigiem Bertson&#8217;em pisa\u0142em ksi\u0105\u017ck\u0119 o ci\u0105g\u0142ej integracji ,wci\u0105\u017c pracowa\u0142em jako g\u0142\u00f3wny programista w \u015bredniej wielko\u015bci niemieckim przedsi\u0119biorstwie. Wiele si\u0119 zmieni\u0142o. Obecnie jestem w\u0142a\u015bcicielem ma\u0142ej firmy w Opolu, kt\u00f3ra zatrudnia developer\u00f3w. Tworzenie stabilnego i dobrze prosperuj\u0105cego biznesu to praca bardzo pracoch\u0142onna i absorbuj\u0105ca. Przyznaj\u0119, do tego stopnia, \u017ce zaniedba\u0142em swoj\u0105 pasj\u0119, kt\u00f3ra zainspirowa\u0142a mnie do napisania ksi\u0105\u017cki. Pasj\u0119, kt\u00f3rej celem jest u\u0142atwianie pracy innym programistom. Dzi\u0119ki automatyzacji ka\u017cdego procesu, kt\u00f3ry si\u0119 da, poprzez pozostawianie prostymi aspekt\u00f3w, kt\u00f3re musz\u0105 takie pozosta\u0107. Chcia\u0142bym, aby produkcj\u0119 oprogramowania mo\u017cna by\u0142o por\u00f3wna\u0107 do ta\u015bmy dzia\u0142aj\u0105cej w fabryce, albo przynajmniej odseparowa\u0107 sztuk\u0119 wdra\u017cania kodu do okre\u015blonych proces\u00f3w in\u017cynierii oprogramowania.<\/p>\n<p style=\"text-align: justify;\">W mojej firmie stworzyli\u015bmy szereg autorskich narz\u0119dzi programistycznych, kt\u00f3re przez lata \u015bwietnie sprawdza\u0142y si\u0119 w codziennej pracy. W sumie nadal sprawdzaj\u0105, bo do dzisiaj z nich korzystamy. Niestety powoli czujemy, \u017ce nadgryz\u0142 je z\u0105b czasu. Na rynku pojawiaj\u0105 si\u0119 rozwi\u0105zania, kt\u00f3re korzystaj\u0105 z nowocze\u015bniejszego podej\u015bcia. Podczas wsp\u00f3\u0142pracy z cz\u0119\u015bci\u0105 klient\u00f3w musimy korzysta\u0107 z ich w\u0142asnych zestaw\u00f3w narz\u0119dzi i zdarza si\u0119, \u017ce s\u0105 naprawd\u0119 dobre. Konkurencja wydaje ogromne pieni\u0105dze na ich tworzenie ale widocznie to dobra inwestycja, poniewa\u017c cz\u0119\u015b\u0107 naszych developer\u00f3w zaczyna dostrzega\u0107 braki w naszym w\u0142asnym systemie. Jak to zwykle bywa w\u015br\u00f3d programist\u00f3w nikt nie chce podj\u0105\u0107 si\u0119 tak trywialnego zadania jak napisanie nowego wewn\u0119trznego systemu. W porz\u0105dku. Pozw\u00f3lmy programistom zajmowa\u0107 si\u0119 ich w\u0142asnymi problemami &#8211; ja wymy\u015bl\u0119 nowy toolchain. Wracam do pracy w mojej dziedzinie. Wymy\u015bl\u0119 nowoczesny i wydajny zestaw narz\u0119dzi programistycznych dla ma\u0142ych i bystrych firm informatycznych (<strong>MCET-SEC<\/strong>).<\/p>\n<p style=\"text-align: justify;\">Od czego zaczynamy:<\/p>\n<ol style=\"text-align: justify;\">\n<li>Repozytorium programistyczne: <a href=\"https:\/\/www.scm-manager.org\">SCMManager<\/a><\/li>\n<li>Server produkcyjny: <a href=\"https:\/\/jenkins.io\/\">Jenkins<\/a><\/li>\n<li>Detektor problem\u00f3w\/miernik czasu: <a href=\"https:\/\/www.redmine.org\/\">Redmine<\/a><\/li>\n<\/ol>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">Prosty i wydajny uk\u0142ad. Kiedy\u015b to po\u0142\u0105czenie by\u0142o nowoczesnym kombajnem. Dzisiaj wygl\u0105da bardziej jak kosiarka. Dzia\u0142a p\u0142ynnie ale chcia\u0142bym \u017ceby mia\u0142a wszystkie funkcjonalno\u015bci, kt\u00f3re oferuj\u0105 nowoczesne rozwi\u0105zania.<\/p>\n<ol style=\"text-align: justify;\">\n<li>Brakuje mo\u017cliwo\u015bci, aby robi\u0107 formalne code review w parach.<\/li>\n<li>Nasz krajobraz ci\u0105g\u0142ej aktualizacji kodu jest ograniczony przez sie\u0107 lokaln\u0105 i za bardzo polega na infrastrukturze MSDeoploy.<\/li>\n<li>\u00a0Nasze oprogramowanie do wykrywania problemow\/mierzenia czasu nie posiada funkcji \u015bledzenia wydania\/uwag.<\/li>\n<li>Kiedy\u015b oprogramowanie do zarz\u0105dzania testami by\u0142o niepotrzebne, poniewa\u017c nie by\u0142o tester\u00f3w. Teraz kiedy zatrudniamy zar\u00f3wno developer\u00f3w jak i tester\u00f3w &#8211; problem jego braku zaczyna si\u0119 uwydatnia\u0107.<\/li>\n<li>Kiedy firma by\u0142a mniejsza licencjonowanie oprogramowania, kt\u00f3rego u\u017cywamy nie by\u0142o k\u0142opotem. Teraz, kiedy liczba programist\u00f3w osi\u0105ga kilkana\u015bcie, pojawia si\u0119 problem.<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Pora si\u0119 za to porz\u0105dnie zabra\u0107. Zaczynam od zaraz(marzec 2019). Do\u0142\u0105cz do mnie w tej przygodzie &#8211; tworzeniu <strong>MCET-SEC<\/strong>.<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Min\u0119\u0142o naprawd\u0119 sporo od kiedy opublikowane zosta\u0142o ,,Continuous Integration in .NET\u201d. Up\u0142yw czasu jest widoczny szczeg\u00f3lnie w kontek\u015bcie tak pr\u0119\u017cnie rozwijaj\u0105cej si\u0119 dziedziny jak\u0105 jest in\u017cynieria oprogramowania. Ponad osiem lat temu kiedy razem z Craigiem Bertson&#8217;em pisa\u0142em ksi\u0105\u017ck\u0119 o ci\u0105g\u0142ej integracji ,wci\u0105\u017c pracowa\u0142em jako g\u0142\u00f3wny programista w \u015bredniej wielko\u015bci niemieckim przedsi\u0119biorstwie. Wiele si\u0119 zmieni\u0142o. Obecnie jestem w\u0142a\u015bcicielem ma\u0142ej firmy w Opolu, kt\u00f3ra zatrudnia developer\u00f3w. Tworzenie stabilnego i dobrze prosperuj\u0105cego biznesu to praca bardzo pracoch\u0142onna i absorbuj\u0105ca. Przyznaj\u0119, do tego stopnia, \u017ce zaniedba\u0142em swoj\u0105 pasj\u0119, kt\u00f3ra zainspirowa\u0142a mnie do napisania ksi\u0105\u017cki. Pasj\u0119, kt\u00f3rej celem jest u\u0142atwianie pracy innym programistom. Dzi\u0119ki automatyzacji ka\u017cdego procesu, kt\u00f3ry si\u0119 da, poprzez pozostawianie prostymi aspekt\u00f3w, kt\u00f3re musz\u0105 takie pozosta\u0107. Chcia\u0142bym, aby produkcj\u0119 oprogramowania mo\u017cna by\u0142o por\u00f3wna\u0107 do ta\u015bmy dzia\u0142aj\u0105cej w fabryce, albo przynajmniej odseparowa\u0107 sztuk\u0119 wdra\u017cania kodu do okre\u015blonych proces\u00f3w in\u017cynierii oprogramowania. W mojej firmie stworzyli\u015bmy szereg autorskich narz\u0119dzi programistycznych, kt\u00f3re przez lata \u015bwietnie sprawdza\u0142y si\u0119 w codziennej pracy. W sumie nadal sprawdzaj\u0105, bo do dzisiaj z nich korzystamy. Niestety powoli czujemy, \u017ce nadgryz\u0142 je z\u0105b czasu. Na rynku pojawiaj\u0105 si\u0119 rozwi\u0105zania, kt\u00f3re korzystaj\u0105 z nowocze\u015bniejszego podej\u015bcia. Podczas wsp\u00f3\u0142pracy z cz\u0119\u015bci\u0105 klient\u00f3w musimy korzysta\u0107 z ich w\u0142asnych zestaw\u00f3w narz\u0119dzi i zdarza si\u0119, \u017ce s\u0105 naprawd\u0119 dobre. Konkurencja wydaje ogromne pieni\u0105dze na ich tworzenie ale widocznie to dobra inwestycja, poniewa\u017c cz\u0119\u015b\u0107 naszych developer\u00f3w zaczyna dostrzega\u0107 braki w naszym w\u0142asnym systemie. Jak to zwykle bywa w\u015br\u00f3d programist\u00f3w nikt nie chce podj\u0105\u0107 si\u0119 tak trywialnego zadania jak napisanie nowego wewn\u0119trznego systemu. W porz\u0105dku. Pozw\u00f3lmy programistom zajmowa\u0107 si\u0119 ich w\u0142asnymi problemami &#8211; ja wymy\u015bl\u0119 nowy toolchain. Wracam do pracy w mojej dziedzinie. Wymy\u015bl\u0119 nowoczesny i wydajny zestaw narz\u0119dzi programistycznych dla ma\u0142ych i bystrych firm informatycznych (MCET-SEC). Od czego zaczynamy: Repozytorium programistyczne: SCMManager Server produkcyjny: Jenkins Detektor problem\u00f3w\/miernik czasu: Redmine Prosty i wydajny uk\u0142ad. Kiedy\u015b to po\u0142\u0105czenie by\u0142o nowoczesnym kombajnem. Dzisiaj wygl\u0105da bardziej jak kosiarka. Dzia\u0142a p\u0142ynnie ale chcia\u0142bym \u017ceby mia\u0142a wszystkie funkcjonalno\u015bci, kt\u00f3re oferuj\u0105 nowoczesne rozwi\u0105zania. Brakuje mo\u017cliwo\u015bci, aby robi\u0107 formalne code review w parach. Nasz krajobraz ci\u0105g\u0142ej aktualizacji kodu jest ograniczony przez sie\u0107 lokaln\u0105 i za bardzo polega na infrastrukturze MSDeoploy. \u00a0Nasze oprogramowanie do wykrywania problemow\/mierzenia czasu nie posiada funkcji \u015bledzenia wydania\/uwag. Kiedy\u015b oprogramowanie do zarz\u0105dzania testami by\u0142o niepotrzebne, poniewa\u017c nie by\u0142o tester\u00f3w. Teraz kiedy zatrudniamy zar\u00f3wno developer\u00f3w jak i tester\u00f3w &#8211; problem jego braku zaczyna si\u0119 uwydatnia\u0107. Kiedy firma by\u0142a mniejsza licencjonowanie oprogramowania, kt\u00f3rego u\u017cywamy nie by\u0142o k\u0142opotem. Teraz, kiedy liczba programist\u00f3w osi\u0105ga kilkana\u015bcie, pojawia si\u0119 problem. Pora si\u0119 za to porz\u0105dnie zabra\u0107. Zaczynam od zaraz(marzec 2019). Do\u0142\u0105cz do mnie w tej przygodzie &#8211; tworzeniu MCET-SEC.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,5,18],"tags":[],"_links":{"self":[{"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/posts\/553"}],"collection":[{"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/comments?post=553"}],"version-history":[{"count":5,"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/posts\/553\/revisions"}],"predecessor-version":[{"id":583,"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/posts\/553\/revisions\/583"}],"wp:attachment":[{"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/media?parent=553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/categories?post=553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iprogrammable.com\/pl\/wp-json\/wp\/v2\/tags?post=553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}