--- title: Generowanie materiałów źródłowych dla polecenia kubectl content_type: task weight: 90 --- Ta strona pokazuje, jak wygenerować materiały źródłowe polecenia `kubectl`. {{< note >}} Ten temat pokazuje, jak wygenerować materiały źródłowe dla [poleceń kubectl](/docs/reference/generated/kubectl/kubectl-commands) takich jak [kubectl apply](/docs/reference/generated/kubectl/kubectl-commands#apply) i [kubectl taint](/docs/reference/generated/kubectl/kubectl-commands#taint). Ten temat nie pokazuje, jak wygenerować stronę materiałów źródłowych opcji [kubectl](/docs/reference/generated/kubectl/kubectl-commands/). Aby uzyskać instrukcje dotyczące generowania strony materiałów źródłowych opcji kubectl, zobacz [Generowanie stron materiałów źródłowych dla komponentów i narzędzi Kubernetesa](/docs/contribute/generate-ref-docs/kubernetes-components/). {{< /note >}} ## {{% heading "prerequisites" %}} {{< include "prerequisites-ref-docs.md" >}} ## Skonfiguruj lokalne repozytoria {#set-up-the-local-repositories} Utwórz lokalną przestrzeń roboczą i ustaw swoje `GOPATH`: ```shell mkdir -p $HOME/ export GOPATH=$HOME/ ``` Utwórz lokalną kopię następujących repozytoriów: ```shell go get -u github.com/spf13/pflag go get -u github.com/spf13/cobra go get -u gopkg.in/yaml.v2 go get -u github.com/kubernetes-sigs/reference-docs ``` Jeśli nie masz jeszcze repozytorium kubernetes/website, pobierz je teraz: ```shell git clone https://github.com//website $GOPATH/src/github.com//website ``` Zrób klon repozytorium kubernetes/kubernetes jako k8s.io/kubernetes: ```shell git clone https://github.com/kubernetes/kubernetes $GOPATH/src/k8s.io/kubernetes ``` Usuń pakiet spf13 z `$GOPATH/src/k8s.io/kubernetes/vendor/github.com`: ```shell rm -rf $GOPATH/src/k8s.io/kubernetes/vendor/github.com/spf13 ``` Repozytorium kubernetes/kubernetes dostarcza kod źródłowy `kubectl` oraz `kustomize`. * Określ katalog bazowy twojej kopii repozytorium [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes). Na przykład, jeśli postępowałeś zgodnie z poprzednim krokiem, aby pobrać repozytorium, twój katalog bazowy to `$GOPATH/src/k8s.io/kubernetes`. Kolejne kroki odwołują się do twojego katalogu bazowego jako ``. * Określ katalog bazowy klonu Twojego repozytorium [kubernetes/website](https://github.com/kubernetes/website). Na przykład, jeśli wykonałeś poprzedni krok, aby pobrać repozytorium, Twoim katalogiem bazowym jest `$GOPATH/src/github.com//website`. Kolejne kroki odnoszą się do Twojego katalogu bazowego jako ``. * Określ katalog główny dla Twojej kopii repozytorium [kubernetes-sigs/reference-docs](https://github.com/kubernetes-sigs/reference-docs). Na przykład, jeśli postępowałeś zgodnie z poprzednim krokiem, aby uzyskać repozytorium, Twoim katalogiem głównym będzie `$GOPATH/src/github.com/kubernetes-sigs/reference-docs`. Dalsze kroki odnoszą się do Twojego katalogu głównego jako ``. W swoim lokalnym repozytorium k8s.io/kubernetes przejdź do interesującej Cię gałęzi i upewnij się, że jest ona aktualna. Na przykład, jeśli chcesz wygenerować dokumentację dla Kubernetesa {{< skew prevMinorVersion >}}.0, możesz użyć tych poleceń: ```shell cd git checkout v{{< skew prevMinorVersion >}}.0 git pull https://github.com/kubernetes/kubernetes {{< skew prevMinorVersion >}}.0 ``` Jeśli nie musisz edytować kodu źródłowego `kubectl`, postępuj zgodnie z instrukcjami dotyczącymi [Ustawiania zmiennych kompilacji](#set-build-variables). ## Edytowanie kodu źródłowego kubectl {#edit-the-kubectl-source-code} Materiały źródłowe polecenia kubectl są automatycznie generowana z kodu źródłowego kubectl. Jeśli chcesz zmienić materiały źródłowe, pierwszym krokiem jest zmiana jednego lub więcej komentarzy w kodzie źródłowym kubectl. Wprowadź zmianę w swoim lokalnym repozytorium kubernetes/kubernetes, a następnie zgłoś pull requesta do gałęzi master na [github.com/kubernetes/kubernetes](https://github.com/kubernetes/kubernetes). [PR 56673](https://github.com/kubernetes/kubernetes/pull/56673/files) jest przykładem pull requesta, który poprawia literówkę w kodzie źródłowym kubectl. Monitoruj swój pull request (PR) i odpowiadaj na komentarze recenzentów. Kontynuuj monitorowanie swojego PR, aż zostanie scalony z docelową gałęzią w repozytorium kubernetes/kubernetes. ## Zrób cherry pick do gałęzi wydania {#cherry-pick-your-change-into-a-release-branch} Twoja zmiana znajduje się teraz w głównej gałęzi, która jest używana do rozwoju następnego wydania Kubernetesa. Jeśli chcesz, aby twoja zmiana pojawiła się w wersji dokumentacji Kubernetesa, która została już wydana, musisz zaproponować włączenie twojej zmiany do gałęzi wydania. Na przykład, załóżmy, że gałąź master jest używana do rozwijania Kubernetes {{< skew currentVersion >}} i chcesz przenieść swoją zmianę do gałęzi release-{{< skew prevMinorVersion >}}. Aby uzyskać instrukcje, jak to zrobić, zobacz [Proponowanie Cherry Pick](https://git.k8s.io/community/contributors/devel/sig-release/cherry-picks.md). Monitoruj swój cherry pick pull request, aż zostanie scalone z gałęzią wydania. {{< note >}} Proponowanie cherry pick wymaga posiadania uprawnień do ustawiania etykiety oraz kamienia milowego w swoim pull requeście. Jeśli nie posiadasz tych uprawnień, będziesz musiał współpracować z kimś, kto może ustawić etykietę i kamień milowy za Ciebie. {{< /note >}} ## Ustaw zmienne budowania {#set-build-variables} Przejdź do ``. W swoim wierszu poleceń ustaw następujące zmienne środowiskowe. * Ustaw `K8S_ROOT` na ``. * Ustaw `K8S_WEBROOT` na ``. * Ustaw `K8S_RELEASE` na wersję dokumentacji, którą chcesz zbudować. Na przykład, jeśli chcesz zbudować dokumentację dla Kubernetesa {{< skew prevMinorVersion >}}, ustaw `K8S_RELEASE` na {{< skew prevMinorVersion >}}. Na przykład: ```shell export K8S_WEBROOT=$GOPATH/src/github.com//website export K8S_ROOT=$GOPATH/src/k8s.io/kubernetes export K8S_RELEASE={{< skew prevMinorVersion >}} ``` ## Tworzenie katalogu wersjonowanego {#creating-a-versioned-directory} Uruchomienie budowania (ang. build target) `createversiondirs` tworzy katalog z wersjonowaniem i kopiuje pliki konfiguracyjne kubectl dotyczące materiałów źródłowych do tego katalogu. Nazwa katalogu z wersjonowaniem jest zgodna z wzorcem `v_`. W katalogu ``, uruchom następujący cel budowania: ```shell cd make createversiondirs ``` ## Sprawdź tag wydania w k8s.io/kubernetes {#check-out-a-release-tag-in-k8siokubernetes} W swoim lokalnym repozytorium ``, przejdź do gałęzi, która zawiera wersję Kubernetesa, którą chcesz udokumentować. Na przykład, jeśli chcesz wygenerować dokumentację dla Kubernetesa {{< skew prevMinorVersion >}}.0, przejdź do tagu `v{{< skew prevMinorVersion >}}`. Upewnij się, że Twoja lokalna gałąź jest aktualna. ```shell cd git checkout v{{< skew prevMinorVersion >}}.0 git pull https://github.com/kubernetes/kubernetes v{{< skew prevMinorVersion >}}.0 ``` ## Uruchom kod generowania dokumentacji {#run-the-doc-generation-code} W lokalnym katalogu ``, uruchom cel budowania (ang. build target) `copycli`. Komenda działa z uprawnieniami `root`: ```shell cd make copycli ``` Polecenie `copycli` czyści tymczasowy katalog kompilacji, generuje pliki poleceń kubectl i kopiuje zbiorczą stronę HTML materiałów źródłowych poleceń kubectl oraz zasoby do ``. ## Zlokalizuj wygenerowane pliki {#locate-the-generated-files} Zweryfikuj, czy te dwa pliki zostały wygenerowane: ```shell [ -e "/gen-kubectldocs/generators/build/index.html" ] && echo "index.html built" || echo "no index.html" [ -e "/gen-kubectldocs/generators/build/navData.js" ] && echo "navData.js built" || echo "no navData.js" ``` ## Zlokalizuj skopiowane pliki {#locate-the-copied-files} Zweryfikuj, czy wszystkie wygenerowane pliki zostały skopiowane do Twojego ``: ```shell cd git status ``` Wynik powinien zawierać zmodyfikowane pliki: ``` static/docs/reference/generated/kubectl/kubectl-commands.html static/docs/reference/generated/kubectl/navData.js ``` Wynik może również zawierać: ``` static/docs/reference/generated/kubectl/scroll.js static/docs/reference/generated/kubectl/stylesheet.css static/docs/reference/generated/kubectl/tabvisibility.js static/docs/reference/generated/kubectl/node_modules/bootstrap/dist/css/bootstrap.min.css static/docs/reference/generated/kubectl/node_modules/highlight.js/styles/default.css static/docs/reference/generated/kubectl/node_modules/jquery.scrollto/jquery.scrollTo.min.js static/docs/reference/generated/kubectl/node_modules/jquery/dist/jquery.min.js static/docs/reference/generated/kubectl/node_modules/font-awesome/css/font-awesome.min.css ``` ## Lokalne testowanie dokumentacji {#locally-test-the-documentation} Zbuduj dokumentację Kubernetes w lokalnym ``. ```shell cd git submodule update --init --recursive --depth 1 # if not already done make container-serve ``` Zobacz [podgląd lokalny](https://localhost:1313/docs/reference/generated/kubectl/kubectl-commands/). ## Dodaj i zatwierdź zmiany w kubernetes/website {#add-and-commit-changes-in-kuberneteswebsite} Uruchom `git add` i `git commit`, aby zatwierdzić pliki. ## Utwórz pull requesta {#create-a-pull-request} Utwórz pull requesta do repozytorium `kubernetes/website`. Monitoruj swój pull request i odpowiadaj na komentarze z przeglądu. Kontynuuj monitorowanie swojego pull requesta aż do momentu jego włączenia do głównej gałęzi kodu. Kilka minut po włączeniu twojego pull requesta, zaktualizowane tematy materiałów źródłowych będą widoczne w [opublikowanej dokumentacji](/docs/home). ## {{% heading "whatsnext" %}} * [Szybki start generowania materiałów źródłowych](/docs/contribute/generate-ref-docs/quickstart/) * [Generowanie materiałów źródłowych dla komponentów i narzędzi Kubernetesa](/docs/contribute/generate-ref-docs/kubernetes-components/) * [Generowanie materiałów źródłowych dla Kubernetes API](/docs/contribute/generate-ref-docs/kubernetes-api/)