Akcja Docker Build Push (jak to działa dla programistów)
Czym jest Docker?
Docker to potężne narzędzie typu open source, które ułatwia tworzenie, wdrażanie i zarządzanie aplikacjami poprzez umieszczanie ich w lekkich, przenośnych kontenerach. Kontenery pakują aplikację i jej zależności, w tym biblioteki, pliki konfiguracyjne itp., dzięki czemu może ona działać nawet w różnych środowiskach. Eliminuje to wszelkie problemy z kompatybilnością, co oznacza, że aplikacja będzie działać tak samo na laptopie programisty, jak na serwerze lub w chmurze. Upraszcza proces tworzenia, testowania i skalowania poprzez wydajne budowanie narzędzi, dostarczanie i uruchamianie kontenerów, a tym samym prostsze zarządzanie zasobami.

Czym jest obraz Docker?
Obrazy to plany typu Docker, które zawierają spójne środowiska uruchomieniowe. Programiści mogą korzystać z gotowych obrazów z Docker Hub, publicznego rejestru, lub tworzyć własne obrazy Docker. Narzędzia takie jak Docker Compose i Kubernetes jeszcze bardziej rozszerzają możliwości Docker, dodając proste koordynacje konfiguracji wielokontainerowych lub zarządzanie złożonymi potrzebami skalowania na większej liczbie platform.
Dłączego warto korzystać z akcji Docker Build Push?
Płynna automatyzacja
Ręczne tworzenie i publikowanie obrazów Docker jest skomplikówane, podatne na błędy i czasochłonne. Automatyzacja tych kroków zapewnia przewidywalność i pozwala zaoszczędzić czas, zwłaszcza gdy zespół się powiększa lub aktualizacje są częstsze.
Płynna integracja
Akcja Docker Build Push działa od razu z repozytoriami GitHub, umożliwiając tworzenie przepływów pracy wokół zdarzeń, takich jak wysyłanie kodu, pull requesty lub harmonogram.
Standardowe tworzenie obrazów
Automatyzacja gwarantuje, że za każdym razem, gdy tworzone są obrazy Docker, są one identyczne; co pozwala ograniczyć błędy i rozbieżności w różnych środowiskach, takich jak środowisko programistyczne, testowe i produkcyjne.
Łatwe wdrożenie
Dzięki automatycznemu tworzeniu obrazów Docker w ramach kompilacji oraz ich przesyłaniu do repozytoriów wdrożenie może stać się stosunkowo łatwe. Narzędzia takie jak Kubernetes lub Docker Swarm mogą służyć do pobierania lub tworzenia obrazów wielopłatformowych bezpośrednio z rejestru Docker, co pozwala skrócić przestoje.
Jak działa akcja Docker Build Push
Akcja Build and Push Docker wykonuje trzy podstawowe czynności:
- Skonfiguruj logowanie do Docker: uwierzytelnianie w rejestrze kontenerów w celu bezpiecznego przesyłania obrazów Docker.
- Image Build: Uruchamia polecenia kompilacji Docker przy użyciu pliku Dockerfile zawierającego instrukcje.
- Push to Registry: Przesyła skompilowany obraz do docelowego rejestru kontenerów.
Kroki te są zdefiniowane w pliku przepływu pracy GitHub Actions (.github/workflows/your-workflow.yml), w którym określa się wyzwałącze, konfiguracje kompilacji oraz poświadczenia rejestru.
Wdrożenie akcji Docker Build Push
1: Przygotuj swoje repozytorium
- Dodaj plik Dockerfile opisujący aplikację w kontenerze.
- Dodaj wszelkie pliki konfiguracyjne lub skrypty wymagańe do kompilacji.
# Use Node.js as the base image
FROM node:14
# Set the working directory
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json .
RUN npm install
# Copy the application code
COPY . .
# Expose the application’s port
EXPOSE 3000
# Start the application
CMD ["npm", "start"]
2: Dodaj poświadczenia rejestru jako sekrety GitHub
Aby skompilować i przesłać obrazy Docker do rejestru kontenerów, potrzebne są poświadczenia. Dodaj je jako sekrety GitHub:
- Przejdź do ustawień repozytorium na GitHubie.
- Przejdź do Sekrety i zmienne > Działania.
Dodaj następujące sekrety:
USERNAME: Twoja nazwa użytkownika w serwisie Docker Hub.PASSWORD: Twój token dostępu lub hasło do Docker Hub.
W przypadku innych rejestrów sytuacja jest podobna, ale czasami wymagańe są dodatkowe poświadczenia, na przykład AWS_ACCESS_KEY_ID i AWS_SECRET_ACCESS_KEY dla Amazon ECR.
3: Utwórz przepływ pracy GitHub Actions
Dodaj poniższy wiersz do pliku przepływu pracy YAML w .github/workflows/docker-build-push.yml.
name: Docker Build and Push
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
# Step 1: Check out the repository
- name: Checkout code
uses: actions/checkout@v3
# Step 2: Log in to Docker Hub
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
# Step 3: Build and push the Docker image
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: username/repository:latest
name: Docker Build and Push
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
# Step 1: Check out the repository
- name: Checkout code
uses: actions/checkout@v3
# Step 2: Log in to Docker Hub
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
# Step 3: Build and push the Docker image
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: username/repository:latest
Push do gałęzi głównej: Przepływ pracy zostanie uruchomiony przy każdym pushu do gałęzi głównej.
Kod checkout: Użyj akcji actions/checkout, aby wykonać checkout repozytorium.
Zaloguj się do rejestru: Uwierzytelnij się w Docker Hub przy użyciu dostarczonych kluczy.
Build and Push: Uruchamia akcję Docker Build Push, która skompiluje obraz z bieżącego katalogu do momentu zakończenia procesu i prześle go do username/repository: latest.
Zapisz plik przepływu pracy w swoim repozytorium. Wystarczy jedno naciśnięcie, aby uruchomić proces tworzenia obrazu i umieszczenia go w określonym rejestrze.
Czym jest IronSecureDoc?
IronSecureDoc to nowo opracowany produkt firmy Iron Software, zaprojektowany specjalnie do zabezpieczania dokumentów cyfrowych, głównie plików PDF, za pomocą dość solidnego szyfrowania i mechanizmów kontroli. Umożliwi to organizacji zainstalowanie zaawansowanych protokołów szyfrowania, takich jak AES-256, dzięki czemu wspomniane poufne informacje nie będą mogły być przeglądane bez odpowiedniego upoważnienia. Oznacza to, że wspomniany dokument może zostać otwarty wyłącznie przez uprawnionego użytkownika, ponieważ drukowanie, edycja i kopiowanie tego dokumentu podlegają ograniczeniom oraz niestandardowym uprawnieniom. Ponadto ochrona hasłem i podpisy cyfrowe zwiększają bezpieczeństwo i integralność dokumentów oraz znaków wodnych.

IronSecureDoc jest przyjazny dla programistów i pozwala na wygodne uruchamianie aplikacji za pośrednictwem Docker lub innych środowisk programistycznych, dzięki czemu powinien być w stanie dostosować się do wielu procesów biznesowych. Na przykład w sektorach opieki zdrowotnej, finansowym i prawnym poufność dokumentów ma ogromne znaczenie. IronSecureDoc łączy funkcje szyfrowania i kontroli dokumentów w organizacji z zapewnieniem bezpieczeństwa, co pozwala na zachowanie zgodności z przepisami oraz łatwe i bezpieczne udostępnianie dokumentów partnerom lub klientom zewnętrznym.
Jak działa IronSecureDoc
IronSecureDoc jest udostępniany jako kontener Docker i zapewnia dostęp do funkcji kompilacji poprzez punkty końcowe API, co pozwala zachować jego skalowalność i jednolitość. Programiści pobierają gotowy obraz Docker IronSecureDoc z rejestru kontenerów i włączają go do swoich aplikacji.
Przepływ pracy z dokumentami w IronSecureDoc
- Utwórz i prześlij kontener IronSecureDoc za pomocą akcji Docker Build Push.
- Wdrożenie tego samego kontenera na platformie chmurowej, takiej jak AWS ECS lub Kubernetes.
- Zintegruj swoją aplikację, aby komunikować się z IronSecureDoc w celu wykonywania dowolnych operacji na dokumentach.
Zainstaluj i uruchom IronSecureDoc
Aby pobrać obraz Docker IronSecureDoc z poniższego repozytorium GitHub, w wierszu poleceń lub w otwartym oknie terminala uruchom następujące polecenie.
docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc

Po pobraniu obrazu z kontenera Docker mamy kolejne polecenie, aby uruchomić IronSecureDoc, kontener operacyjny.
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
Powyższe polecenie Docker run utworzy instancję kontenera IronSecureDoc.
Korzystanie z IronSecureDoc
Interfejs API REST IronSecureDoc został omówiony w innym miejscu, ale zasadniczo pozwala on użytkownikowi na redagowanie, certyfikowanie i szyfrowanie dokumentów od razu po instalacji i uruchomieniu Docker. Oto link do dokumentacji.

Możemy również zaszyfrować dokument, wysyłając go do interfejsu API IronSecureDoc w następujący sposób:
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@test.pdf;type=application/pdf'
Spowoduje to automatyczne przekierowanie dokumentu do IronSecureDoc, gdzie zostanie on poprawnie zaszyfrowany.
Wnioski
Wszystko zaczyna się od akcji Docker Build Push i IronSecureDoc. Łączą one dwa bardzo potężne narzędzia, które umożliwiają konteneryzację przepływów pracy przy zachowaniu bezpieczeństwa zautomatyzowanego i skalowalnego rozwoju. Docker Build Push Action zajmuje się automatycznym tworzeniem i wdrażaniem obrazów kontenerów w procesie rozwoju, a IronSecureDoc zapewnia solidne zabezpieczenia dokumentów w tych kontenerach. Wszystko sprowadza się do usprawnionych procesów programistów i niezawodnej wydajności we wszystkich środowiskach. Niezależnie od tego, czy zarządzasz wdrażaniem aplikacji, czy zabezpieczasz poufne dokumenty, te narzędzia w Twoim procesie pracy pomogą Ci przejść na nowoczesne i wydajne tworzenie oprogramowania.
IronSecureDoc: umożliwia dodawanie funkcji bezpieczeństwa specyficznych dla dokumentów, w tym szyfrowania plików, kontroli dostępu oraz uwierzytelniania autentyczności dokumentu za pomocą podpisów cyfrowych. Certyfikaty Docker i IronSecureDoc zapewniają kompleksowe zabezpieczenia, chroniąc wszystko — od infrastruktury po przechowywane dane wrażliwe. Aby dowiedzieć się więcej o licencji IronSecureDoc, odwiedź stronę poświęconą licencjom. Aby uzyskać informacje na temat wielu produktów Iron Software, kliknij ten link do Suite bibliotek.
Często Zadawane Pytania
Jak mogę przekonwertować HTML na PDF w języku C#?
Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Możesz również konwertować pliki HTML na pliki PDF za pomocą metody RenderHtmlFileAsPdf.
Czym jest Docker?
Docker to platforma typu open source, która upraszcza tworzenie, wdrażanie i zarządzanie aplikacjami przy użyciu kontenerów. Kontenery te pakują aplikacje wraz z ich zależnościami, zapewniając spójne działanie w różnych srodowiskach.
W jaki sposób akcja Docker Build Push usprawnia procesy przepływu pracy?
Akcja Docker Build Push automatyzuje kompilację i przesyłanie obrazów Docker do repozytoriów GitHub, co zmniejsza liczbę błędów i pozwala zaoszczędzić czas. Tworzy ona przepływy pracy uruchamiane przez zdarzenia, takie jak przesyłanie kodu lub żądania pull.
Dlaczego Docker jest przydatny dla programistów?
Docker jest przydatny dla programistów, ponieważ hermetyzuje aplikacje w kontenerach, zapewniając stałą wydajność i ograniczając problemy z kompatybilnością w różnych srodowiskach. Usprawnia to procesy tworzenia, wdrażania i zarządzania.
Jakie są zalety korzystania z kontenerów Docker?
Kontenery Docker oferują takie zalety, jak przenośność, skalowalność i spójność w różnych srodowiskach. Zawierają one aplikacje wraz z ich zależnościami, co ogranicza problemy z kompatybilnością i zwiększa efektywność wdrażania.
W jaki sposób IronSecureDoc zapewnia bezpieczeństwo dokumentów?
IronSecureDoc zabezpiecza dokumenty cyfrowe przy użyciu solidnych technik szyfrowania, takich jak AES-256, a także funkcji takich jak ochrona hasłem i podpisy cyfrowe. Jest to szczególnie przydatne w sektorach wymagających wysokiego poziomu poufności, takich jak opieka zdrowotna i finanse.
Czy IronSecureDoc można zintegrować z istniejącymi procesami roboczymi?
Tak, IronSecureDoc można zintegrować z istniejącymi procesami roboczymi, ponieważ działa jako kontener Docker i udostępnia funkcje poprzez punkty końcowe API. Dzięki temu jest elastyczny i łatwy w użyciu w różnych scenariuszach wdrożeniowych.
W jaki sposób akcja Docker Build Push zwiększa wydajność wdrażania?
Akcja Docker Build Push zwiększa wydajność wdrażania poprzez automatyzację procesu tworzenia i przesyłania obrazów Docker, zapewniając spójne tworzenie obrazów i zmniejszając przestoje dzięki integracji z platformami takimi jak Kubernetes.
Jaka jest rola obrazów Docker w wdrażaniu aplikacji?
Obrazy Docker służą jako plany kontenerów, zawierające aplikację i jej zależności. Zapewniają spójność w różnych srodowiskach, co czyni je kluczowymi dla niezawodnego wdrażania aplikacji.
Jak zautomatyzować tworzenie obrazów Docker za pomocą GitHub Actions?
Aby zautomatyzować tworzenie obrazów Docker za pomocą GitHub Actions, utwórz plik przepływu pracy, który określa wyzwalacze, takie jak wysyłanie kodu, wykorzystuje działania związane z logowaniem do Docker i kompilacją oraz wysyła skompilowany obraz do rejestru. Ta automatyzacja usprawnia proces kompilacji i wdrażania.




