Budowanie i wysyłanie obrazu przy wydaniu
Automatyzuj budowanie kontenerów po otagowaniu wydania
Budowanie i wysyłanie obrazu przy wydaniu to bezpłatna lekcja MLOps Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej MLOps Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs MLOps Academy zawiera 4 lekcji w sumie.
Buduj tylko przy wydaniu
Nie wdrażasz obrazu przy każdym commicie. Krok wydania buduje i publikuje kontener tylko wtedy, gdy oznaczysz wersję jako gotową. 📦
Uruchamiaj po tagu
Popularny wzorzec uruchamia kompilację po wypchnięciu tagu git, takiego jak v1.2.0, dzięki czemu wdrożenie rozpoczyna świadomie wybrana wersja, a nie przypadkowe wypchnięcie kodu.
on:
push:
tags: ["v*"]Co powstaje podczas kompilacji
Kompilacja pakuje API modelu, jego kod i zależności w jeden obraz: zamrożony, uruchamialny obraz środowiska, który działa tak samo na każdej maszynie.
Rejestr przechowuje obrazy
Rejestr kontenerów, taki jak GHCR, ECR lub Docker Hub, to miejsce, w którym przechowywane są zbudowane obrazy, aby dowolny serwer mógł je później pobrać i uruchomić.
Loguj się za pomocą sekretu
Przed wypchnięciem workflow loguje się do rejestru przy użyciu przechowywanego sekretu, nigdy za pomocą hasła wpisanego na stałe, dzięki czemu dane uwierzytelniające nie trafiają do kodu.
- uses: docker/login-action@v3
with:
password: ${{ secrets.REGISTRY_TOKEN }}Dobrze oznacz obraz
Nadaj obrazowi jasny tag odpowiadający wersji wydania. Samo ponowne używanie latest uniemożliwia ustalenie, która kompilacja jest uruchomiona.
myorg/model-api:v1.2.0Buduj i wypychaj jedną akcją
Oficjalna akcja Docker build-push buduje plik Dockerfile i przesyła wynik do rejestru w jednym kroku.
- uses: docker/build-push-action@v6
with:
push: true
tags: myorg/model-api:v1.2.0Przypnij wersję, nie latest
Wdrożenie przypiętego tagu, takiego jak v1.2.0, oznacza, że zawsze dokładnie wiesz, który model i kod działają, a także możesz szybko wrócić do wcześniejszego tagu.
Buforuj warstwy, aby przyspieszyć działanie
Podczas budowania obrazu ponownie używane są niezmienione warstwy z pamięci podręcznej, więc ponownie budowane są tylko faktycznie zmienione części. Dzięki temu kompilacje wydań trwają krótko.
Wdrożenie pobiera obraz
Po wypchnięciu środowisko uruchomieniowe po prostu pobiera obraz z odpowiednim tagiem i go uruchamia. Ten sam artefakt, który został przetestowany, trafia na produkcję bajt w bajt.
docker pull myorg/model-api:v1.2.0Informacje o wydaniu zamykają obieg
Powiąż tag obrazu z wydaniem GitHub i dodaj informacje o wprowadzonych zmianach. Teraz każdy może prześledzić działający kontener aż do jego dokładnego kodu i modelu.
Szybkie sprawdzenie
Dlaczego należy oznaczyć wydany obraz wersją, zamiast używać wyłącznie latest?
Podsumowanie
Po utworzeniu wersji oznaczonej tagiem zaloguj się za pomocą sekretu, zbuduj obraz i wypchnij go do rejestru pod przypiętym tagiem. Środowisko uruchomieniowe pobiera dokładnie ten artefakt, aby uruchomić wydanie.
Często zadawane pytania
Czy lekcja „Budowanie i wysyłanie obrazu przy wydaniu” jest bezpłatna?
Tak — pełny tekst „Budowanie i wysyłanie obrazu przy wydaniu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu MLOps Academy, przejdź na CoddyKit PRO. Kurs MLOps Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Budowanie i wysyłanie obrazu przy wydaniu”?
Automatyzuj budowanie kontenerów po otagowaniu wydania Ćwiczysz MLOps Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć MLOps Academy?
Nie wymagamy żadnego doświadczenia. MLOps Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Budowanie i wysyłanie obrazu przy wydaniu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji MLOps Academy?
Tak. Każda lekcja MLOps Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Co CI/CD oznacza dla modeli
- Workflow GitHub Actions dla ML
- Uzależnianie scalania od jakości modelu
- Budowanie i wysyłanie obrazu przy wydaniu