PictOgr - mój CQRS -4-

20.04.2017

Zapowiadałem na ten wpis, iż będzie on dotyczył wykorzystania ES oraz walidatorów, jednak powstał mały bałagan w projekcie czego skutkiem było wyodrębnienie CQRS do osobnego repozytorium.

github.com/krzysztofowsiany/cqrs

CQRS

Biblioteka powiązana jest z napisanym już wcześniej modułami do implementacji testów.

Takie podejście pozwoliło mi na wykorzystanie po raz pierwszy mechanizmu pod modułów w GIT, EXP rośnie.:)

Mechanizm ten pozwala na dołączanie do repozytorium innych repozytoriów jako pod moduły i korzystanie z nich.

Pod moduły - GIT

Do konfiguracji pod modułów służy plik o nazwie .gitmodules.

Plik .gitmodules.

[submodule "CQRS"]
        path = CQRS
        url = https://github.com/krzysztofowsiany/cqrs

Należy określić, nazwę podmodułu, ścieżkę gdzie będzie znajdowało się dołączone repozytorium oraz jego adres.

Po dodaniu pliku .gitmodules wydając polecenie git submodule update aktualizujemy dodane podmoduły.

Travis

CQRS - GitHub. Dodatkowo zaadaptowałem projekt tak by można było wykorzystać narzędzie o nazwie Travis-CI.

Jest to darmowy serwer (dla oprogramowania Open Source) ciągłej integracji pozwalający na kontrolowanie poprawności działania aplikacji poprzez przygotowanie środowiska, instalację zależności, budowaniu, testowaniu, i raportowaniu tego procederu.

Travis wymaga konfiguracji zapisanej w pliku o nazwie .travis.yml.

Konfiguracja Travis-CI dla biblioteki CQRS.

language: csharp
solution: CQRS.sln
install:
  - nuget restore CQRS.sln
  - nuget install xunit.runners -Version 1.9.2 -OutputDirectory testrunner
script:
  - xbuild /p:Configuration=Debug
  - mono ./testrunner/xunit.runners.1.9.2/tools/xunit.console.clr4.exe ./CQRS.Tests/bin/Debug/CQRS.Tests.dll

Plik ten daje duże możliwości, i przykład jaki wykorzystałem jest bardzo prosty, polegający na określeniu plików projektu, instalacji wymaganych zależności, następnie uruchomienie samego skryptu budowania xbuild oraz wykonania testów.

Więcej o konfiguracji Travisa przy pomocy yamla pod adresem: docs.travis-ci.com/user/customizing-the-build.

Co ciekawe całe środowisko uruchomieniowe działa na Linuxie dlatego wykorzystywana jest tutaj platforma mono.

W celu wykorzystania musiałem nieco zmienić projekt CQRS-a, pozbyć się runnera dla VS, oraz obniżyć wersję xUnita do 1.9.2, w takiej konfiguracji udało mi się dokonać pierwszego builda.:D

travis-ci.org/krzysztofowsiany/cqrs:

CQRS - GitHub.

Koniec

Co prawda krótki post, jednak ostatni święta  i z nimi związane długie wyjazdy/powroty do rodziny. Dlatego wpis taki króciasty,

Jednak mam nadzieję, że interesujący.

Linki:

Dziękuję za wytrwałość i zachęcam do komentowania.


Daj Się Poznać 2017

Jest to post przygotowany na potrzeby konkursu „Daj Się Poznać 2017” organizowanym przez Macieja Aniserowicza.

Blog https://mrdev.pl
Projekt https://mrdev.pl/pictogr-pomysl
GitHub github.com/krzysztofowsiany/pictogr
Snapchat www.snapchat.com/add/gocom7
Facebook www.facebook.com/PictOgr-1729700930654225
Twitter twitter.com/gemu_gocom
RSS http://mrdev.pl/category/daj-sie-poznac-2017/feed

Zapisz się na listę :)