แฌแแแแฌแแแแแฎแแแ แแก แฌแแ, 5 แฌแแแก 2018 แแแ แขแก, Google-แแ แแแแแฃแจแแ แแแแแกแ แฆแแ แแแแแก แแ แแแฅแขแแก แแแ แแแแ แแแคแ แแแ แกแแ CI/CD-แแกแแแแก แ.แฌ.
NB: แกแฎแแแแ แจแแ แแก, แกแแแคแแแแแ แฃแแแ แแแแแแ แแแกแแฃแแ แแ แฉแแแแก แแแแแ แแแจแ
แแแแ แแ. แแแแแแ แแ แจแแกแแซแแแแแแแแแ
แแกแ แ แแ, แแแแแแแ แ แแ แแแฅแแแ, Skaffold แฌแงแแแขแก CI/CD แชแแแแแก แแแขแแแแขแแแแชแแแก แแ แแแแแแแก (แแจแแแแแแก, แแแงแแแแแแก, แแแแแแแแแแก แแขแแแแแแ), แกแแแแแแแแก แแแแแแแแแ แก แกแฌแ แแค แแแแแฎแแแฃแ แแแแก, แ.แ. แแแแแก แจแแแแแแแ แชแแแแแแแแแแก แจแแแแแแก แกแฌแ แแคแแ แแแฆแแแแก แจแแกแแซแแแแแแแ - แแแแแฎแแแแฃแแ แแแแแแแชแแแก แกแแฎแแ, แ แแแแแแช แแฃแจแแแแก Kubernetes แแแแกแขแแ แจแ. แแ แแแก แจแแฃแซแแแ แแแฃแจแแแก แกแฎแแแแแกแฎแแ แกแฅแแแแแจแ (dev, stage, production...), แ แแกแแแแกแแช Skaffold แแฎแแแ แแแ แแฆแฌแแ แก แจแแกแแแแแแกแ แแแแกแแแแแแแแก แแแจแแแแแก.
Skaffold-แแก แฌแงแแ แแก แแแแ แแฌแแ แแแ Go-แจแ,
แแแแแแฎแแแแ แซแแ แแแแแ แคแฃแแฅแชแแแแ แแ แแแฎแแกแแแแแแแแแ. แแแ แแแแ แแแแชแแแก แจแแแแแแก:
- Skaffold แแแแแแแแแ แแแกแขแ แฃแแแแขแแแก CI/CD แแแแกแแแแแแแแก แจแแกแแฅแแแแแแ.
- แกแแจแฃแแแแแแก แแแซแแแแ แแแแแงแฃแ แ แแแแแแแ แฌแงแแ แแก แแแแแก แชแแแแแแแแแก แคแแแแ แแ แแแแแฎแแ แชแแแแแ แแแแแก แแแแขแแแแแ แแแแก แกแฃแ แแแแแจแ แจแแแ แแแแก แแแขแแแแขแฃแ แ แแ แแชแแกแ, แแแแแแฅแแแงแแแ แแก แกแฃแ แแแแแ Docker Registry-แจแ แแ แแแแแแแแกแแ แแกแแแ Kubernetes แแแแกแขแแ แจแ.
- แแฎแแแแก แกแแชแแแจแ แแ แกแแแฃแแ แคแแแแแแแก แกแแแฅแ แแแแแแชแแแก แแแแขแแแแแ แจแ แแ แกแแแฃแ แกแแแฃแจแแ แแแ แแฅแขแแ แแแกแแแ.
- แแแขแแแแขแฃแ แ แขแแกแขแแ แแแ แแแแขแแแแแ แแก แกแขแ แฃแฅแขแฃแ แแก แขแแกแขแแก แแแแแงแแแแแแ.
- แแแแแแแกแแแแ แแแแแก แแแ แขแแแ.
- แแแแฎแฃแแแแก แแแแขแแแแแ แจแ แแแจแแแแฃแแ แแแแแแแชแแแก แแฃแ แแแแแแก.
- แแฎแแแ แแแ Java, Node.js, Python, Go-แจแ แแแฌแแ แแแ แแแแแแแชแแแแแก แแแแแ แแแแจแ.
แแฎแแ แแแฎแแกแแแแแแแแแแก แจแแกแแฎแแ:
- แแแแแ แกแแแคแแแแก แแ แแฅแแก แแแกแแขแฃแ แ แแแแ แแแแ แแแแแแแแแขแแแ. แแแฃ, แแ แแ แแก แกแแญแแ แ Kubernetes-แแก แจแแแแแแแ แแแแคแแแฃแ แแชแแ แแ แแ แแแ แแแแก แแแแแกแแงแแแแแแแ.
- แกแฎแแแแแกแฎแแ แแแแกแแแแแแแ แแฅแแแแ แแแแแชแฎแแแแกแแแแก. แแญแแ แแแแแ แแแแแก แแแแ แชแแแแแ แแแแแแแแ แแ Minikube-แจแ แแแแแแแแ แแแแก แแ แแชแแกแจแ, แจแแแแแ แแ แกแชแแแแแ แแ แฌแแ แแแแแแแ? แแ แแแแแแ แแ แกแแแแแก
แแ แแคแแแแแ แแ แแแแฎแแแ แแแแแก แแแแคแแแฃแ แแชแแแแ, แแแ แแแแก แชแแแแแแแ แแ แแ แแจแแแ, แ แแแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแฆแฌแแ แแ แกแฎแแแแแกแฎแแ แแแแกแแแแแแแ แแ แแ แแแแแแแชแแแกแแแแก. - CLI. แแฎแแแแ แแแแกแแแแก แฃแขแแแแขแ แแ แแแแคแแแฃแ แแชแแแแ YAML-แจแ. แแแขแแ แแแขแจแ แจแแแแซแแแแ แแแแแแ แชแแแแแแ แจแแฅแแแแก แแชแแแแแแแแแ
แแฅแกแแแ แแแแแขแฃแแ GUI แแฃแแชแ, แแ แแแแแแขแจแ แแก แแแแ แแแแแแแแแ แแฎแแแแ แแแแก แแแจแแแแก, แ แแ แแแฆแแชแแก แกแญแแ แแแแ แแก, แแแแ แแ แกแแแแแแแแแแจแ แแ แ. - แแแแฃแแฃแ แแแ. Skaffold แแ แแ แแก แแแแแฃแแแแแแแแ แแแแแแแแ, แแแแ แแ แแแแแแ แแกแแฎแแแก แแแแแแงแแแแก แแแแแแแแฃแแแฃแ แ แแแแฃแแแแ แแ แแ แกแแแฃแแ แแแแแฌแงแแแขแแแแแแแ แแแแแ แแขแฃแแ แแแแชแแแแแแกแแแแก.
แแ แฃแแแแแกแแแแแแก แแแฃแกแขแ แแชแแ:
- แจแแแ แแแแก แแขแแแแ แจแแแแซแแแแ แแแแแแงแแแแ:
- docker build แแแแแแแแ แแแแ, แแแแกแขแแ แจแ kaniko-แก แแแแแงแแแแแแ แแ Google Cloud Build-แจแ;
- แแแแแแ แแแแแแแแ แแแแ;
- Jib Maven แแ Jib Gradle แแแแแแแแ แแแแ แแ Google Cloud Build-แจแ;
- แแแ แแแแฃแแ แแจแแแแแแก แกแแ แแแขแแแ แแแแแแแแ แแแแ แแฃแจแแแแก. แแฃ แแญแแ แแแแแ แกแฎแแ (แฃแคแ แ แแแฅแแแแ/แแแชแแแแ/...) build แแแแแฌแงแแแขแแก แแแจแแแแ, แแก แแฆแฌแแ แแแแ แกแแ แแแขแจแ แแกแ, แ แแ Skaffold-แแ แแแฃแจแแแก แแแ (
แแแแแแแแ แแแแฃแแแแขแแชแแแแแ ). แแก แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแงแแแแ แแแแแกแแแแ แ แแแแแฅแขแแ แ, แ แแแแแแช แจแแแซแแแแ แแแแแแซแแฎแแ แกแแ แแแขแแก แแแแแงแแแแแแ;
- แขแแกแขแแ แแแแก แแขแแแแ แฃแแแ แแแฎแกแแแแแ
แแแแขแแแแแ แ-แกแขแ แฃแฅแขแฃแ แ-แขแแกแขแ ; - แแแแแแแแแแกแแแแก แแแชแแแฃแแแ แจแแแแแแ:
- Kubectl;
- แฉแแคแฎแฃแขแ;
- แแแ แแแแ.
แแแแก แฌแงแแแแแแ, Skaffold-แก แจแแแซแแแแ แแฌแแแแก แฃแแแแแแฃแ แ แฉแแ แฉแ CI/CD แแกแแจแแแแแแแ. แแฅ แแ แแก แกแแแฃแจแแ แแ แแชแแกแแก แแแแแแแแ แแแกแ แแแแแงแแแแแแกแแก (แแ แแแฅแขแแก แแแแฃแแแแขแแชแแแแแ):
แ แแแแ แแแแแแงแฃแ แแแ แกแแแคแแแแแก แแแแฃแจแแแแ แ แแแแแแแ?
- แแ แแแ แแแ แแแแแขแ แแแแแก แชแแแแแแแแแก แฌแงแแ แแก แแแแแก แแแ แแฅแขแแ แแแจแ. แแฃ แคแแแแแแจแ แชแแแแแแแแแ แแแแฎแแ แชแแแแแแแ, แแกแแแ แกแแแฅแ แแแแแแแแ Kubernetes แแแแกแขแแ แจแ แแแแแแแชแแแก แแแแแแ. แแฃ แจแแกแแซแแแแแแแ, แกแฃแ แแแแก แฎแแแแฎแแ แจแแแ แแแแก แแแ แแจแ. แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ, แแฎแแแ แกแฃแ แแแ แแแ แแแแแ.
- แแฌแงแแแแแ แกแฃแ แแแ แแแฌแแแแแ แแแแขแแแแแ แแก แกแขแ แฃแฅแขแฃแ แแก แขแแกแขแแก แแแแแงแแแแแแ, แแแแแจแแฃแแแ แแ แแแแแแแแแ แแแแแ แแก แ แแแกแขแ แจแ.
- แแแแก แจแแแแแ, แแแแแกแแฎแฃแแแแ แแแแแแแแแฃแแแ - แแแแแแแแแฃแแแ Kubernetes แแแแกแขแแ แจแ.
- แแฃ แแแจแแแแ แแแฎแแ แแ แซแแแแแแก แแแแแงแแแแแแ
skaffold dev
, แจแแแแแ แแแฌแงแแแ แแฃแ แแแแแแแก แแแฆแแแแก แแแแแแแชแแแแแ แแ Skaffold แแแแแแแ แชแแแแแแแแแก, แ แแแ แฎแแแแฎแแ แแแแแแแ แแก แงแแแแ แแแฅแแแแแแ.
Skaffold-แแก แแฃแจแแแแแก แซแแ แแแแแ แแขแแแแแแก แแแฃแกแขแ แแชแแ
แแแแ แฏแแจแ. แชแแแแแแก Skaffold
Skaffold-แแก แแแแแงแแแแแแก แแแแแแกแขแ แแ แแแแกแแแแก แแแแแแแแก แแแแแงแแแ
แแแแแแกแขแแแแ แแ Skaffold:
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
chmod +x skaffold
sudo mv skaffold /usr/local/bin
skaffold version
v0.37.1
แแแแแ, แแแแแแ แแ Skaffold-แแก แกแแชแแแ แกแแญแแ แ แแแแแแแแแแแ:
git clone https://github.com/GoogleContainerTools/skaffold
cd skaffold/examples/microservices
แแ แแแแ แฉแแ แแแแแแแแ แแ แ แแแแแแแ, แแแแแแฃแแ แจแแแชแแแก แแ แ แแแขแแ แ Go แแแแแแแชแแแก. แแ แ-แแ แแ แแแแแแแชแแ แแ แแก frontend (leeroy-web), แ แแแแแแช แแแแแแแกแแแแ แแแแก แแแแฎแแแแแก แแแแ แ แแแแแแแชแแแจแ - backend (leeroy-app). แแแแฎแแ, แ แแแแ แแแแแแงแฃแ แแแ:
~/skaffold/examples/microservices # tree
.
โโโ leeroy-app
โ โโโ app.go
โ โโโ Dockerfile
โ โโโ kubernetes
โ โโโ deployment.yaml
โโโ leeroy-web
โ โโโ Dockerfile
โ โโโ kubernetes
โ โ โโโ deployment.yaml
โ โโโ web.go
โโโ README.adoc
โโโ skaffold.yaml
4 directories, 8 files
leeroy-app แแ leeroy-web แจแแแชแแแก Go แแแแก แแ แแแ แขแแ Dockerfiles แแ แแแแแก แแแแแแแแ แแแแ แจแแกแแฅแแแแแแ:
~/skaffold/examples/microservices # cat leeroy-app/Dockerfile
FROM golang:1.12.9-alpine3.10 as builder
COPY app.go .
RUN go build -o /app .
FROM alpine:3.10
CMD ["./app"]
COPY --from=builder /app .
แแ แแ แแแแชแแ แแแแแชแฎแแแแก แแแแก - แกแแแแแ แแกแแ แแแแก แชแแแแ leeroy-web
แแฆแแแก แแแแฎแแแแแแก แแ แแแแแแแแก แแแ แแแ แแแแแขแแแก leeroy-app
. แแแแขแแ แคแแแแแแจแ Deployment.yaml
แแ แกแแแแแก แกแแ แแแกแ แแฎแแแแ app
(แจแแแ แแแ แจแ แฃแขแแแแชแแแกแแแแก). แแแ แแแ แขแ web
แฉแแแ แแแก แกแแแฃแแแ แแแแก แแแแแแชแแแ แแแแแแแชแแแแ แกแฌแ แแคแ แฌแแแแแแกแแแแก.
แ แแแแ แช แฉแแแก skaffold.yaml
:
~/skaffold/examples/microservices # cat skaffold.yaml
apiVersion: skaffold/v1beta13
kind: Config
build:
artifacts:
- image: leeroy-web
context: ./leeroy-web/
- image: leeroy-app
context: ./leeroy-app/
deploy:
kubectl:
manifests:
- ./leeroy-web/kubernetes/*
- ./leeroy-app/kubernetes/*
portForward:
- resourceType: deployment
resourceName: leeroy-web
port: 8080
localPort: 9000
แงแแแแ แแแแแ แแแฎแกแแแแแ แแขแแแ แแฅ แแ แแก แแฆแฌแแ แแแ. แแ แแแแคแแแฃแ แแชแแแก แแแ แแ, แแกแแแ แแ แแก แคแแแแ แแแแแแแฃแ แ แแแ แแแแขแ แแแแ - ~/.skaffold/config
. แแแกแ แ แแแแฅแขแแ แแแ แจแแกแแซแแแแแแแ แฎแแแแ แแ CLI-แแก แกแแจแฃแแแแแแ - แแแแแแแแแ, แแกแ:
skaffold config set --global local-cluster true
แแก แแ แซแแแแแ แแแแงแแแแแก แแแแแแแฃแ แชแแแแแก local-cluster
แแแแจแแแแแแแแจแ true
, แ แแก แจแแแแแแแช Skaffold แแ แจแแแชแแแแ แกแฃแ แแแแแแก แแแกแขแแแชแแฃแ แ แแแกแขแ แจแ แแแแแขแแแแก. แแฃ แแแแแแฃแ แแ แแแแแแ แแแ, แจแแแแซแแแแ แแแแแแงแแแแ แแก แแ แซแแแแแ แกแฃแ แแแแแแก แแแแแแฃแ แแ แจแแกแแฅแแแแแแ.
แฒแแฃแแ แฃแแแ skaffold.yaml
:
- แกแชแแแแแ
build
แฉแแแ แแแแฃแกแขแแแ, แ แแ แแฅแแแ แฃแแแ แจแแแแ แแแแ แแ แจแแแแแฎแแ แกแฃแ แแแ แแแแแแแแ แแแแ. แแแก แจแแแแแ, แ แแช build แแแ แแแแแ แแแแแก, แฉแแแ แแแแฎแแแ แจแแแแแแก:// ั.ะบ. Minikube ัะพะทะดะฐะตั ะบะปะฐััะตั ะฒ ะพัะดะตะปัะฝะพะน ะฒะธัััะฐะปัะฝะพะน ะผะฐัะธะฝะต, // ะฟัะธะดะตััั ะฟัะพะฝะธะบะฝััั ะฒะฝัััั, ััะพะฑั ะฝะฐะนัะธ ะพะฑัะฐะทั # minikube ssh $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE leeroy-app 7d55a50803590b2ff62e47e6f240723451f3ef6f8c89aeb83b34e661aa287d2e 7d55a5080359 4 hours ago 13MB leeroy-app v0.37.1-171-g0270a0c-dirty 7d55a5080359 4 hours ago 13MB leeroy-web 5063bfb29d984db1ff70661f17d6efcc5537f2bbe6aa6907004ad1ab38879681 5063bfb29d98 5 hours ago 13.1MB leeroy-web v0.37.1-171-g0270a0c-dirty 5063bfb29d98 5 hours ago 13.1MB
แ แแแแ แช แฎแแแแแ, แกแแแคแแแแแ แแแแแ แแแแแจแแ แกแฃแ แแแแแ. แกแฎแแแแ แจแแ แแก, แแแแแก แ แแแแแแแแ แแแแแขแแแ แแฎแแ แแแญแแ แแแแ.
- แจแแแแแแ แแแแคแแแฃแ แแชแแแจแ แแแแแแแแฃแแแ
context: ./leeroy-app/
, แ.แ. แแแแขแแฅแกแขแ, แ แแแแแจแแช แกแฃแ แแแ แแ แแแแแแ, แแแแแแแแฃแแแ. - แแแแแแแแแแก แแขแแแแ แแแแแแแแแแ, แ แแ แแแแแแแงแแแแแ แแฃแแแฅแขแแก แแ แแแฆแแแก แกแแญแแ แ แแแแแคแแกแขแแแแกแแแแก.
-
PortForward
: แแกแแแแกแแ, แแฃ แ แแแแ แแแแแแแแแ แฉแแแฃแแแแ แแ แแแ แขแแแกkubectl port-forward
, แฉแแแ แแแกแขแ แฃแฅแชแแแก แแแซแแแแ Skaffold-แก แแ แแ แซแแแแแแก แแแแแซแแฎแแแแก แแแแแแ. แแ แจแแแแฎแแแแแจแ, แแแแแแแแ แแแ แแแ แขแ 9000 แแแแแแแแแแแแแ 8080-แแ Deployment-แจแ แกแแฎแแแแleeroy-web
.
แแแจแแแแแก แแ แแ skaffold dev
: แแฃแแแ แจแแฅแแแแก แแแแแแแแ แ โแฃแแฃแแแแจแแ แแก แชแแแแกโ, แ.แ. แแก แแ แ แแฎแแแแ แจแแแแ แแแแแก แงแแแแแคแแ แก แแ แแแแแแแแกแแแก แแแก แแแแกแขแแ แจแ, แแ แแแแ แแแแแงแแแแแ แแแแแแแแแแแ แฏแแ แแแแแก แแแแแแแ แแแแแก แจแแกแแฎแแ, แแแแแขแแ แแแแก แแแฃแฌแแแก แชแแแแแแแแแก แแ แแแแแแฎแแแแก แแแแแแแก แแแแแแแ แแแแแก.
แแฅ แแ แแก แแแจแแแแแก แจแแแแแ skaffold dev --port-forward
แฎแแแแฎแแ แจแแแ แแแแกแแก:
แแแ แแแแ, แแฅแแแ แฎแแแแแ, แ แแ แฅแแจแ แแแแแแงแแแแแ. แจแแแแแแ, แแแแแแแชแแ แแแ แแแแแ, แแแแแแแแแฃแแแ แแ แแแ แขแแแ แแแแแแแแแแแแแ. แแแก แจแแแแแ, แ แแช แแแแแแแแฃแแแ --port-forward
แกแแแคแแแแแ แแแแแแแแแแแ แแแ แขแ web
แ แแแแ แช แฐแแแแฎแแก, แแแแ แแ แแฅ app
แแแ แแกแ แแแ แกแแแฃแแแ แ แจแแฎแแแฃแแแแแกแแแแแ (แแแ แฉแแ แฃแแฎแแแแกแ แแแแแกแฃแคแแแ). แแแแก แจแแแแแ, แฉแแแ แแแฆแแแ แแแ แแแ แแฃแ แแแแแแก แแแแแแแชแแแแแแแ.
แแแแแ แจแแแแแแฌแแแ แแฃแจแแแแก แแฃ แแ แ?
~/skaffold/examples/microservices # kubectl get po
NAME READY STATUS RESTARTS AGE
leeroy-app-6998dfcc95-2nxvf 1/1 Running 0 103s
leeroy-web-69f7d47c9d-5ff77 1/1 Running 0 103s
~/skaffold/examples/microservices # curl localhost:9000
leeroooooy app!!!
แคแแแแแก แจแแชแแแ leeroy-app/app.go
- แแแแแก แ แแแแแแแแ แฌแแแ... แแ:
~/skaffold/examples/microservices # kubectl get po
NAME READY STATUS RESTARTS AGE
leeroy-app-ffd79d986-l6nwp 1/1 Running 0 11s
leeroy-web-69f7d47c9d-5ff77 1/1 Running 0 4m59s
~/skaffold/examples/microservices # curl localhost:9000
leeroooooy Habr!!!
แแแแแแ แแฃแแแ, แแแแแ Skaffold-แแ แแฉแแแแ แแแแแ แแแแกแแแจแ, แ แแแแ แช แแแ แ, แแ แแ แแแแแแขแแก แแแแแแแแแแ: แแก แแฎแแแแ แจแแแแแแแ. leeroy-app
แแ แแ แ แแ แแแ แแฃแแแ.
แแแขแ แแ แแฅแขแแแ
แแฆแกแแแแจแแแแแ แแกแแช, แ แแ แแฎแแแ แแ แแแฅแขแแก แจแแฅแแแแกแแก, Skaffold-แแก แแแแคแแแฃแ แแชแแแแแก แฉแแขแแแ แแแ แจแแกแแซแแแแแแแ แแ แซแแแแแแก แแแแแงแแแแแแ. init
, แ แแช แซแแแแแ แแแกแแฎแแ แฎแแแแแแ. แแแ แแ แแแแกแ, แจแแแแซแแแแ แแแฌแแ แแ แ แแแแแแแแ แแแแคแแแฃแ แแชแแ: แแแแแฎแแ แชแแแแแ แแแแแแแแ แแแ แแแแฃแแแกแฎแแแ แแแแคแแแฃแ แแชแแแแ แแ แจแแแแแ แแแแแแแ แกแชแแแแแ แแ แซแแแแแแ run
(แแแแแ แแ แแชแแกแ dev
, แฃแแ แแแแ แแ แแแแแขแ แแแแแก แชแแแแแแแแแก), แกแฎแแ แแแแคแแแฃแ แแชแแแก แแแแแงแแแแแแ.
แแแขแแแแแแแ แแ แแก
Skaffold-แแก แแแแแงแแแแแแก แแ แ-แแ แแ แจแแกแแซแแ แจแแแแฎแแแแแ แแแกแขแแแชแแฃแ แแแแกแขแแ แแ แแแแแแแแ แแแแก แฉแแขแแ แแแ. แงแแแแแก แแ แแฎแแ แฎแแแ Minikube-แแก แแแจแแแแ แกแแแฃแแแ แ แแแแ แแขแฃแ แแ, แจแแแแแ แแแแแแแชแแแก แแแจแแแแ แแ แแแกแ แแแแแแแขแฃแ แแ แคแฃแแฅแชแแแแแ แแแแก แแแแแแแแ... แแ แจแแแแฎแแแแแจแ Skaffold แแ แแแแแแแก แจแแกแแแแจแแแแแ แฌแงแแแขแก, แ แแช แจแแแซแแแแ แแแแแแกแขแฃแ แแ, แแแแแแแแแ, Reddit-แแก แแแแแแ แแแแ, แ แแแแ แช แฉแแแ แแแแฅแแก. แฃแแแ แแแแแฎแแแแก
แฎแแแ
แแแกแแแแ
Skaffold แแ แแก แแแกแแฎแแ แฎแแแแแ แแแกแขแ แฃแแแแขแ แแแแกแแแแแแแแก แแจแแแแแแแแแกแแแแก, แ แแแแแแช แแแแชแแแก Kubernetes-แจแ แแแแแแแชแแแแแก แแแจแแแแแก แแ แซแแ แแแแแแ แแ แแแแขแแ แแแฃแแแ แแแแแแแแ แแแแก แกแแญแแ แแแแแแแ. แแก แกแแแแแแ แแแแแแแแแก "แแแแแ" แแแแกแแแแแแก แจแแฅแแแแก, แ แแแแแแช แแแแแแแกแฌแแแแแก แแแแแแแแแ แแก แซแแ แแแแ แกแแญแแ แแแแแแก, แแแแ แแ แแฃ แกแแกแฃแ แแแแแ, แจแแแแซแแแแ แฃแคแ แ แแแแ แแ แแชแแกแแแแก แแ แแแแแแแแ. แ แแแแ แช Skaffold-แแก แแแแแงแแแแแแก แแ แ-แแ แแ แแแแแแ แแแแแแแแ CI/CD แแ แแชแแกแแแจแ
Skaffold-แก แฃแแแ แแฅแแก แแแแฅแแแก 8000+ แแแ แกแแแแแแ GitHub-แแ, แจแแแฃแจแแแแแฃแแแ Google-แแก แแแแ แแ แแ แแก แแแฌแแแ
PS
แแกแแแ แฌแแแแแแฎแแ แฉแแแแก แแแแแแ:
- ยซ
แแแกแขแ แฃแแแแขแแแ Kubernetes-แแ แแแจแแแแฃแแ แแแแแแแชแแแแแก แแแแแแแแแ แแแแกแแแแก "; - ยซ
werf - แฉแแแแ แแแกแขแ แฃแแแแขแ CI / CD-แกแแแแก Kubernetes-แจแ (แแแแแฎแแแแ แแ แแแแแ แแแแแ แแจแ) "; - ยซ
Garden v0.10.0: แแฅแแแแก แแแแขแแแก แแ แกแญแแ แแแแ Kubernetes "; - ยซ
Kubernetes-แแก แ แฉแแแแแ แแ แฎแ แแแแแ: แแแแแแแแ แแแ แแแแแแแแ แแแแกแ แแ แขแแแแงแแคแแก แจแแกแแฎแแ ".
แฌแงแแ แ: www.habr.com