Author name: Damian

Język YAML

Jest to minimalistyczny język pozwalający przechowywać/przesyłać dane opierając się w dużej mierze na idei wcięć. Podwójna spacja służy do grupowania elementów. Minimalistyczny Porównując język YAML do języka JSON można łatwo zauważyć jego minimalizm (po lewej YAML, po prawej JSON): Idea wcięć Język YAML posługuje się wcięciami aby definiować kolejne zagnieżdżenia: Kolekcje Oczywiście nie mogło zabraknąć …

Język YAML Czytaj dalej »

Docker Compose – entrypoint, command working_dir

Docker Compose pozwala na nadpisanie wielu opcji konfiguracji obrazu. Takimi opcjami są na przykład:– entrypoint – odpowiada opcji ENTRYPOINT w Dockerfile– command – odpowiada opcji CMD w Dockerfile– working_dir – odpowiada opcji WORKDIR w Dockerfile Opcje entyrpoint, command, working_dir w akcji W niektórych sytuacjach pozwala to na całkowite ominięcie tworzenia konfiguracji w plikach Dockerfile.

Docker – domyślna komenda obrazu

Jak wiadomo tworząc konfigurację obrazu Dockerowego można użyć opcji CMD aby wprowadzić własną komendę: Dokładnie rzecz ujmując jest to nadpisanie domyślnej komendy. A żeby sprawdzić jaka jest domyślnie uruchamiana komenda należy posłużyć się komnendą: Po wnikliwej analizie można dotrzeć do: Czyli jeśli nie nadpiszemy opcji CMD w naszej konfiguracji to automatycznie zostanie uruchomione polecenie mvn. …

Docker – domyślna komenda obrazu Czytaj dalej »

Docker – jak opublikować swój obraz?

Stworzone przez siebie obrazy można publikować na przykład w platformie Docker Hub. Krok po kroku W następnych akapitach zostaną przedstawione kroki potrzebne do opublikowania obrazu na platformie Docker Hub. Korzystając z innych platform kroki będą zbliżone. 1. Rejestracja Na początku należy się zarejestrować podając unikalną nazwę użytkownika – będzie ona reprezentowała prefiks nazwy obrazu. Dla …

Docker – jak opublikować swój obraz? Czytaj dalej »

GitLab .gitlab-ci.yml artefakty – jak przekazywać dane pomiędzy zadaniami

Artefakty pozwalają na przekazywanie plików/katalogów do następnych zadań w ramach konfiguracji CI/CD. Konfiguracja Aby plik lub katalog był traktowany jako artefakt należy go wylistować w sekcji artifacts: Od tego momentu artefakt będzie automatycznie pobierany przez wszystkie następujące po nim zadania (job). Blokowanie przychodzących artefaktów Czasami nie chcemy aby nasze zadanie przejmowało automatycznie artefakty z poprzednich …

GitLab .gitlab-ci.yml artefakty – jak przekazywać dane pomiędzy zadaniami Czytaj dalej »

GitLab konfiguracja CI/CD przy użyciu .gitlab-ci.yml

GitLab pozwala na zdefiniowanie potoku CI/CD dla danego projektu za pomocą pliku konfiguracyjnego .gitlab-ci.yml. W niniejszym wpisie przedstawiona jest jedynie podstawowa konfiguracja. Plik .gitlab-ci.yml Plik .gitlab-ci.yml musi posiadać dokładnie taką nazwę oraz być umieszczony w katalogu głównym projektu. Z racji rozszerzenia pliku yml obowiązują wcięcia dwu-odstępowe (dwie spacje). Definicja etapów (stages) Za pomocą sekcji stages …

GitLab konfiguracja CI/CD przy użyciu .gitlab-ci.yml Czytaj dalej »

CI/CD

CI – Continous Integration CI jest to faza poprzedzająca fazę CI i w dużym skrócie sprowadza się do stworzenia paczki zawierającej aplikację (packaging). Najczęściej stworzenia paczki poprzedzają takie fazy jak: – budowanie (build)– sprawdzanie jakości kodu (code quality)– testy (tests) CD – Continous Delivery/Deployment CD jest fazą gdzie już posiadamy paczkę z aplikacją i w …

CI/CD Czytaj dalej »

Docker – podgląd logów

Aby podejrzeć logi kontenera należy użyć komendy: lub: Pozwala to na podejrzenie zarówno logów działającego, jak i też nie działającego kontenera. Obserwowanie logów Zwykłe uruchomienie komendy docker logs powoduje jednorazowe wyświetlenie logów kontenera. Aby śledzić na bieżąco logi kontenera należy użyć opcji –follow: Warto zajrzeć 1. https://docs.docker.com/engine/reference/commandline/logs/

Kontener Docker jako narzędzie

Ciekawą ideą jest używanie kontenerów Dockera jako narzędzia. Załóżmy, że chcielibyśmy tylko „wypróbować” Mavena (nie instalując go lokalnie), możemy wykonać następującą komendę do wygenerowania szkieletu projektu: Podzielmy to na części: to jest składnia Dockera pozwalająca na uruchomienie obrazu maven, w trybie interaktywnym (-it), z automatycznym usunięciem kontenera po wyłączeniu (–rm), z użyciem bind mounts (-v …

Kontener Docker jako narzędzie Czytaj dalej »

Dockerfile CMD vs ENTRYPOINT

CMD oraz ENTRYPOINT to dwie opcje, gdzie możliwe jest wprowadzenie komendy uruchamianej przy podnoszeniu kontenera (docker run). Przykładowo: zrobi to samo co: przy uruchomieniu w następujący sposób: Ale jeśli chcemy skorzystać z możliwości wpisania dodatkowych komend z poziomu polecenia run, to: CMD jest nadpisywany Posiadając obraz z użytą opcją CMD i uruchamiając kontener w następujący …

Dockerfile CMD vs ENTRYPOINT Czytaj dalej »