āĻāĻŽāϰāĻž āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāĻŽāĻžāĻĻā§āϰ GitOps āĻā§āϞ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻāĻžāϧāĻŋāĻāĻŦāĻžāϰ āĻāĻĨāĻž āĻŦāϞā§āĻāĻŋāĨ¤ , āĻāĻŦāĻ āĻāĻ āϏāĻŽāϝāĻŧ āĻāĻŽāϰāĻž āĻĒā§āϰāĻāϞā§āĻĒā§āϰ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύā§āϰ āϏāĻžāĻĨā§ āϏāĻžāĻāĻāĻāĻŋ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻžāϰ āĻāĻŽāĻžāĻĻā§āϰ āĻ āĻāĻŋāĻā§āĻāϤāĻž āĻļā§āϝāĻŧāĻžāϰ āĻāϰāϤ⧠āĻāĻžāĻ - (āĻāϰ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ āϏāĻāϏā§āĻāϰāĻŖ ) āĻāĻāĻŋ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āϏāĻžāĻāĻ, āϤāĻŦā§ āĻāϰ āϏāĻŽāĻžāĻŦā§āĻļāĻāĻŋ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āϝ⧠āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāϤāĻŋāĻļā§āϞ āϏāĻāĻā§āϝāĻ āύāĻŋāĻĻāϰā§āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āύāĻŋāϰā§āĻŽāĻŋāϤ āĻšāϝāĻŧā§āĻā§āĨ¤

āϏāĻžāĻāĻā§āϰ āĻāĻžāĻ āĻžāĻŽā§āϰ āϏā§āĻā§āώā§āĻŽāϤāĻžāĻā§āϞāĻŋāϤ⧠āϝāĻžāύ: āϏāĻŽāϏā§āϤ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŽā§āύ⧠āϤā§āϰāĻŋ āĻāϰāĻž, āϰāĻŋāϞāĻŋāĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āϤāĻĨā§āϝ āϏāĻš āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋ āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤ - āĻāĻŽāϰāĻž āĻāϰāĻŦā§ āύāĻžāĨ¤ āĻĒāϰāĻŋāĻŦāϰā§āϤā§, āĻāϏā§āύ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āϏāĻŽāϏā§āϝāĻž āĻāĻŦāĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻāĻŦāĻ āϏāĻšāĻāĻžāĻŽā§ CI/CD āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋāϰ āĻāĻĒāϰ āĻāĻāĻā§ āĻĢā§āĻāĻžāϏ āĻāϰāĻŋāĨ¤
āĻā§āĻŽāĻŋāĻāĻž: āϏāĻžāĻāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§
āĻļā§āϰā§āϤā§, werf āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāϰ āĻā§āĻĄ āϏāĻš āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāĻŋāĻā§ āĻāύā§āύāϝāĻŧāύ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž āĻāϰā§āĻĒ āĻāϰ⧠āϝāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻ āύāĻŋāĻŦāύā§āϧā§āϰ āϏā§āϝā§āĻā§āϰ āĻŦāĻžāĻāϰā§, āϤāĻŦā§ āϏāϰā§āĻŦāύāĻŋāĻŽā§āύāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻŦāϞāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠āϝā§:
- āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻĒāĻĄā§āĻ āύāĻž āĻāϰ⧠āύāϤā§āύ āĻāϝāĻŧāĻžāϰā§āĻĢ āĻĢāĻžāĻāĻļāύ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āĻāĻāĻŋāϤ āύāϝāĻŧ āĻāĻŦāĻ āĻŦāĻŋāĻĒāϰā§āϤāĻāĻžāĻŦā§, āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ⧠āϝ⧠āĻā§āύ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϝāĻŧāĻžāϰāĻĢā§āϰ āĻāĻāĻāĻŋ āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖ āĻĒā§āϰāĻāĻžāĻļāĻā§ āĻŦā§āĻāĻžāϝāĻŧ;
- āĻĒā§āϰāĻāϞā§āĻĒā§āϰ āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āύāĻŋāĻŦāĻŋāĻĄāĻŧ āĻāύā§āύāϝāĻŧāύ āĻāĻā§: āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋ āĻĻāĻŋāύ⧠āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻŦāĻžāϰ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§;
- āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύā§āϰ āĻāĻāĻāĻŋ āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖ āϏāĻš āĻāĻāĻāĻŋ āϏāĻžāĻāĻ āϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻžāϰ āĻāύā§āϝ āϝ⧠āĻā§āύ⧠āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞ āĻ āĻĒāĻžāϰā§āĻļāύ āĻ āύā§āϤāϤ āĻā§āϞāĻžāύā§āϤāĻŋāĻāϰ;
- āĻĒā§āϰāĻāϞā§āĻĒāĻāĻŋ āĻāĻāĻāĻŋ āĻļāĻŦā§āĻĻāĻžāϰā§āĻĨāĻŋāĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻā§āϰāĻšāĻŖ āĻāϰ⧠, 5āĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞāϤāĻž āĻā§āϝāĻžāύā§āϞ āϏāĻšāĨ¤ āϰāĻŋāϞāĻŋāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞāϤāĻž āĻŦā§āĻĻā§āϧāĻŋāϰ āĻāύā§āϝ āĻā§āϝāĻžāύā§āϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻ āύā§āĻā§āϰāĻŽāĻŋāĻ āĻāϤā§āϤāϰāĻŖ āĻāĻĄāĻŧāĻŋāϤ: āĻāϞāĻĢāĻž āĻĨā§āĻā§ āϰāĻ-āϏāϞāĻŋāĻĄ āĻĒāϰā§āϝāύā§āϤ;
- āϏāĻžāĻāĻā§āϰ āĻāĻāĻāĻŋ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ-āĻāĻžāώāĻž āϏāĻāϏā§āĻāϰāĻŖ āϰāϝāĻŧā§āĻā§, āϝāĻž āĻĒā§āϰāϧāĻžāύ (āĻ āϰā§āĻĨāĻžā§, āĻāĻāϰā§āĻāĻŋ-āĻāĻžāώāĻž) āϏāĻāϏā§āĻāϰāĻŖā§āϰ āϏāĻŽāĻžāύā§āϤāϰāĻžāϞ⧠"āĻŦāĻžāĻāĻā§ āĻāĻŦāĻ āĻŦāĻŋāĻāĻžāĻļ āĻāϰā§" (āĻ āϰā§āĻĨāĻžā§, āϝāĻžāϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻāĻĒāĻĄā§āĻ āĻāϰāĻž āĻšāϝāĻŧ)āĨ¤
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāĻžāĻ āĻĨā§āĻā§ āĻāĻ āϏāĻŽāϏā§āϤ "āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ āϰāĻžāύā§āύāĻžāĻāϰ" āϞā§āĻāĻžāύā§āϰ āĻāύā§āϝ, āϤāĻžāĻā§ āĻāĻŽāύ āĻāĻŋāĻā§ āĻ āĻĢāĻžāϰ āĻāϰ⧠āϝāĻž "āĻļā§āϧ⧠āĻāĻžāĻ āĻāϰā§", āĻāĻŽāϰāĻž āϤāĻž āĻāϰā§āĻāĻŋ āĻĒā§āĻĨāĻ āĻāϝāĻŧāĻžāϰā§āĻĢ āĻāύāϏā§āĻāϞā§āĻļāύ āĻāĻŦāĻ āĻāĻĒāĻĄā§āĻ āĻā§āϞ - āĻāĻāĻž . āĻāĻĒāύāĻžāĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϰāĻŋāϞāĻŋāĻ āύāĻŽā§āĻŦāϰ āĻāĻŦāĻ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞāϤāĻž āĻā§āϝāĻžāύā§āϞāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ āϝāĻž āĻāĻĒāύāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϏā§āϤā§āϤ, āĻāĻŦāĻ āĻŽāĻžāϞā§āĻāĻŋāĻāϝāĻŧāĻžāϰā§āĻĢ āĻā§āϝāĻžāύā§āϞ⧠āĻāĻāĻāĻŋ āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻā§ āĻāĻŋāύāĻž āϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻŦā§ āĻāĻŦāĻ āĻĒā§āϰāϝāĻŧā§āĻāύ⧠āĻāĻāĻŋ āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻŦā§āĨ¤
āĻāϝāĻŧā§āĻŦāϏāĻžāĻāĻā§ āϏāĻāϏā§āĻāϰāĻŖ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻŽā§āύā§āϤā§, werf-āĻāϰ āϏāϰā§āĻŦāĻļā§āώ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻā§āϝāĻžāύā§āϞ⧠āĻāĻĒāϞāĻŦā§āϧāĨ¤ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, āĻ āĻŋāĻāĻžāύāĻž āĻĻā§āĻŦāĻžāϰāĻž āϏāϰā§āĻŦāĻļā§āώ āĻĒā§āϰāĻāĻžāĻļā§āϰ āĻāύā§āϝ āϏāĻŦāĻā§āϝāĻŧā§ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻā§āϝāĻžāύā§āϞā§āϰ āϏāĻāϏā§āĻāϰāĻŖāĻāĻŋ āĻā§āϞ⧠- āĻāĻāĻŋ āϏāĻžāϰā§āĻ āĻāĻā§āĻāĻŋāύ āĻĻā§āĻŦāĻžāϰāĻžāĻ āϏā§āĻāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻā§āϝāĻžāύā§āϞā§āϰ āĻāύā§āϝ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāϞāĻžāĻĻāĻž āĻ āĻŋāĻāĻžāύāĻžāϝāĻŧ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻŦāĻŋāĻāĻž āϰāĻŋāϞāĻŋāĻā§āϰ āĻāύā§āϝ 1.0)āĨ¤
āĻŽā§āĻ, āϏāĻžāĻāĻā§ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻĒāϞāĻŦā§āϧ āĻāĻā§:
- āϰā§āĻ (āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻā§āϞā§),
- āĻĒā§āϰāϤāĻŋāĻāĻŋ āϰāĻŋāϞāĻŋāĻā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏāĻā§āϰāĻŋāϝāĻŧ āĻāĻĒāĻĄā§āĻ āĻā§āϝāĻžāύā§āϞā§āϰ āĻāύā§āϝ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, ).
āĻāĻāĻāĻŋ āϏāĻžāĻāĻā§āϰ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻāϏā§āĻāϰāĻŖ āϤā§āϰāĻŋ āĻāϰāϤā§, āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻž āϝāĻĨā§āώā§āĻ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋāϤ⧠āĻāĻžāϞāĻžāύā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ /docs werf āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻāĻŽāĻžāύā§āĻĄ (jekyll build), āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāĻŋāĻ āĻā§āϝāĻžāĻā§ āϏā§āϝā§āĻāĻ āĻāϰāĻžāϰ āĻĒāϰā§āĨ¤
āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϝā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻ āĻŦāĻļā§āώ:
- āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āύāĻŋāĻā§āĻ (āĻāϝāĻŧāĻžāϰā§āĻĢ) āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧ;
- āϏāĻŋāĻāĻ/āϏāĻŋāĻĄāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āϏāĻŋāĻāĻ-āĻāϰ āĻāĻŋāϤā§āϤāĻŋāϤ⧠āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ;
- āĻāĻŦāĻ āĻāĻ āϏāĻŦ, āĻ āĻŦāĻļā§āϝāĻ, Kubernetes āĻāϞā§.
āĻāϰā§āĻŽ
āĻāĻāύ āĻāϏā§āύ āĻāĻŽāύ āĻāĻžāĻāĻā§āϞāĻŋ āĻĒā§āϰāĻŖāϝāĻŧāύ āĻāϰāĻŋ āϝāĻž āϏāĻŽāϏā§āϤ āĻŦāϰā§āĻŖāĻŋāϤ āϏā§āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŦāĻŋāώāϝāĻŧāĻā§āϞāĻŋāĻā§ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰā§:
- āϝā§āĻā§āύ⧠āĻāĻĒāĻĄā§āĻ āĻā§āϝāĻžāύā§āϞ⧠werf āϏāĻāϏā§āĻāϰāĻŖ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻžāϰ āĻĒāϰ āϏāĻžāĻāĻā§ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻĒāĻĄā§āĻ āĻāϰāĻž āĻāĻāĻŋāϤ.
- āĻāύā§āύāϝāĻŧāύā§āϰ āĻāύā§āϝ āĻāĻĒāύāĻžāĻā§ āĻŽāĻžāĻā§ āĻŽāĻžāĻā§ āϏāĻā§āώāĻŽ āĻšāϤ⧠āĻšāĻŦā§ āϏāĻžāĻāĻā§āϰ āĻĒā§āϰā§āĻŦāϰā§āĻĒ āϏāĻāϏā§āĻāϰāĻŖ āĻĻā§āĻā§āύ.
āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻāĻŋāĻ āĻā§āϝāĻžāĻāĻā§āϞāĻŋ āĻĨā§āĻā§ āϝ⧠āĻā§āύāĻ āĻā§āϝāĻžāύā§āϞ⧠āϏāĻāϏā§āĻāϰāĻŖ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻžāϰ āĻĒāϰ⧠āϏāĻžāĻāĻāĻāĻŋ āĻ āĻŦāĻļā§āϝāĻ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻž āĻāĻāĻŋāϤ, āϤāĻŦā§ āĻāĻŋāϤā§āϰāĻāĻŋ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāϤ⧠āĻāĻŽāϰāĻž āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋ āĻĒāĻžāĻŦ:
- āϝā§āĻšā§āϤ⧠āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāϰ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϰ āϤāĻžāϞāĻŋāĻāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϝāĻŧ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϏā§āĻ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ āϝā§āĻāĻžāύ⧠āϏāĻāϏā§āĻāϰāĻŖāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϝāĻŧā§āĻā§ā§ˇ āϏāĻŦ āĻĒāϰā§, āĻāĻŦāĻžāϰ āϏāĻŦāĻāĻŋāĻā§ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻā§āĻŦ āϏā§āύā§āĻĻāϰ āύāϝāĻŧāĨ¤
- āϰāĻŋāϞāĻŋāĻā§āϰ āĻāύā§āϝ āĻā§āϝāĻžāύā§āϞā§āϰ āϏā§āĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻŋāĻā§ āϏāĻŽāϝāĻŧā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāϤ⧠āĻĒā§āϰāĻžāϰāĻŽā§āĻāĻŋāĻ-āĻ ā§āϝāĻžāĻā§āϏā§āϏ 1.1 āϰāĻŋāϞāĻŋāĻā§āϰ āĻā§āϝāĻŧā§ āĻŦā§āĻļāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āϏāĻāϏā§āĻāϰāĻŖ āύāĻžāĻ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§, āϤāĻŦā§ āϏāĻŽāϝāĻŧā§āϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ āϏā§āĻā§āϞāĻŋ āĻāĻĒāϏā§āĻĨāĻŋāϤ āĻšāĻŦā§ - āĻāĻ āĻā§āώā§āϤā§āϰā§, āĻāĻĒāύāĻžāϰ āĻāĻŋ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āϏāĻŽāĻžāĻŦā§āĻļ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āĻāĻāĻŋāϤ āύāϝāĻŧ?
āĻāĻāĻž āϝ⧠āϏāĻā§āϰāĻŋāϝāĻŧ āĻāĻāĻ āϏāĻŽāĻžāĻŦā§āĻļ āĻŦāĻšāĻŋāϰāĻžāĻāϤ āĻĄā§āĻāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§.
āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ
āĻāĻāĻāĻŋ āĻĒāĻĻā§āϧāϤāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ
āĻŦāĻŋāĻāϞā§āĻĒāĻāĻžāĻŦā§, āĻāĻĒāύāĻŋ Kubernetes-āĻ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĒāĻĄ āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻžāϞāĻžāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻ āĻŦāĻŋāĻāϞā§āĻĒāĻāĻŋ āĻā§āϞāĻžāϏā§āĻāĻžāϰ⧠āĻāĻāĻāĻŋ āĻŦā§āĻšāϤā§āϤāϰ āϏāĻāĻā§āϝāĻ āĻŦāϏā§āϤā§āĻā§ āĻŦā§āĻāĻžāϝāĻŧ, āϝāĻž āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻāϝāĻŧāĻžāϰā§āĻĢ āϰāĻŋāϞāĻŋāĻā§āϰ āϏāĻāĻā§āϝāĻž āĻŦā§āĻĻā§āϧāĻŋāϰ āϏāĻžāĻĨā§ āĻŦā§āĻĻā§āϧāĻŋ āĻĒāĻžāĻŦā§āĨ¤ āĻāĻŦāĻ āĻāĻāĻŋ, āĻā§āϰā§, āĻāϰāĻ āĻāĻāĻŋāϞ āϰāĻā§āώāĻŖāĻžāĻŦā§āĻā§āώāĻŖ āĻŦā§āĻāĻžāϝāĻŧ: āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āύāĻŋāĻāϏā§āĻŦ HTTP āϏāĻžāϰā§āĻāĻžāϰ āϰāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āĻ āϞā§āĻĄ āϏāĻšāĨ¤ āĻ āĻŦāĻļā§āϝāĻ, āĻāĻāĻŋ āĻŦā§āĻšāϤā§āϤāϰ āϏāĻŽā§āĻĒāĻĻ āĻāϰāĻ entails.
āĻāĻŽāϰāĻž āĻāĻāĻ āĻĒāĻĨ āϧāϰāϞāĻžāĻŽ āĻāĻāĻāĻŋ āĻāĻŦāĻŋāϤ⧠āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻŽāϏā§āϤ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻž. āϏāĻžāĻāĻā§āϰ āϏāĻŽāϏā§āϤ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āϏāĻāĻāϞāĻŋāϤ āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύ āĻāύāĻāĻŋāĻāĻāĻāύāĻāĻā§āϏ āϏāĻš āĻāĻāĻāĻŋ āĻĒāĻžāϤā§āϰ⧠āĻ āĻŦāϏā§āĻĨāĻŋāϤ āĻāĻŦāĻ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āϏā§āĻĨāĻžāĻĒāύāĻžāϝāĻŧ āĻā§āϰāĻžāĻĢāĻŋāĻ āĻāύāĻāĻŋāĻāĻāĻāύāĻāĻā§āϏ āĻĒā§āϰāĻŦā§āĻļā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāϏā§āĨ¤ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻžāĻ āĻžāĻŽā§ - āĻāĻāĻāĻŋ āϏā§āĻā§āĻāϞā§āϏ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ - āĻāĻĒāύāĻžāĻā§ āĻā§āĻŦāĻžāϰāύā§āĻāϏ āύāĻŋāĻā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏāĻšāĻā§āĻ āϏā§āĻĨāĻžāĻĒāύāĻž (āϞā§āĻĄā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§) āϏā§āĻā§āϞ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤
āĻāϰāĻ āϏā§āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻšāϤā§, āĻāĻŽāϰāĻž āĻĻā§āĻāĻŋ āĻāĻŋāϤā§āϰ āϏāĻāĻā§āϰāĻš āĻāϰāĻāĻŋ: āĻāĻāĻāĻŋ āĻāϤā§āĻĒāĻžāĻĻāύ āϏāĻžāϰā§āĻāĻŋāĻā§āϰ āĻāύā§āϝ, āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāĻāĻŋ āĻĻā§āĻŦ āϏāĻžāϰā§āĻāĻŋāĻā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻ āϤāĻŋāϰāĻŋāĻā§āϤāĨ¤ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻŋāϤā§āϰāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāϧāĻžāύāĻāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻāϤā§āϰ⧠āĻĄā§āĻ āϏāĻžāϰā§āĻāĻŋāĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ (āϞāĻā§āĻ āĻāϰāĻž āĻšāϝāĻŧ) āĻāĻŦāĻ āĻāϤ⧠āĻĒāϰā§āϝāĻžāϞā§āĻāύāĻž āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋ āĻĨā§āĻā§ āϏāĻžāĻāĻā§āϰ āϏāĻāϏā§āĻāϰāĻŖ āϰāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻāύāĻā§āϰā§āϏ āϏāĻāϏā§āĻĨāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϤāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āϰāĻžāĻāĻāĻŋāĻ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻāϝāĻŧāĻžāϰā§āĻĢ āĻŦāύāĻžāĻŽ āĻāĻŋāĻ āĻā§āϞā§āύ āĻāĻŦāĻ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻāϏ
āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāϞā§āϞāĻŋāĻāĻŋāϤ āĻšāĻŋāϏāĻžāĻŦā§, āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύā§āϰ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āϏāĻžāĻāĻ āϏā§āĻā§āϝāĻžāĻāĻŋāĻā§āϏ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻĒāύāĻžāĻā§ āĻāĻĒāϝā§āĻā§āϤ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻā§āϝāĻžāĻā§ āϏā§āϝā§āĻāĻ āĻāϰ⧠āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āĻĨā§āĻā§ āĻāĻĒāϝā§āĻā§āϤ āĻā§āϝāĻžāĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰ⧠āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻā§āϞā§āύ āĻāϰā§āĻ āĻāĻāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāϰāĻ āϏāĻŽā§āĻĒāĻĻ-āύāĻŋāĻŦāĻŋāĻĄāĻŧ āĻ āĻĒāĻžāϰā§āĻļāύ āĻāĻŦāĻ āϤāĻĻā§āĻŦā§āϝāϤā§āϤ, āĻ -āϤā§āĻā§āĻ āύāĻŋāϰā§āĻĻā§āĻļāĻžāĻŦāϞ⧠āϞā§āĻāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ... āĻāϰā§āĻāĻāĻŋ āĻā§āϰā§āϤāϰ āĻ āϏā§āĻŦāĻŋāϧāĻž āĻšāϞ āϝ⧠āĻāĻ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏāĻžāĻšāĻžāϝā§āϝ⧠āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āϏāĻŽāϝāĻŧ āĻāĻŋāĻā§ āĻā§āϝāĻžāĻļā§ āĻāϰāĻžāϰ āĻā§āύ āĻāĻĒāĻžāϝāĻŧ āύā§āĻāĨ¤
āĻāĻāĻžāύ⧠werf āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āύāĻŋāĻā§āĻ āĻāĻŽāĻžāĻĻā§āϰ āϏāĻžāĻšāĻžāϝā§āϝ⧠āĻāϏā§, āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰ⧠āϏā§āĻŽāĻžāϰā§āĻ āĻā§āϝāĻžāĻļāĻŋāĻ āĻāĻŦāĻ āĻāĻĒāύāĻžāĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻ
āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ . āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻĨā§āĻā§ āĻā§āĻĄ āϝā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ werf āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻŦāĻŋāϞā§āĻĄā§āϰ āĻāϤāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻŦā§, āĻāĻžāϰāĻŖ werf āĻŽā§āϞāϤ āĻāĻāĻŦāĻžāϰ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻā§āϞā§āύ āĻāϰ⧠āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ āĻāĻžāϰā§āϝāĻāϰ āĻāϰ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ fetch āϝāĻĻāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ āϤāĻžāĻšāϞā§āĨ¤ āĻāĻĒāϰāύā§āϤā§, āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻĨā§āĻā§ āϤāĻĨā§āϝ āϝā§āĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻŽāϰāĻž āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ (āĻāĻŽāĻžāĻĻā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻŋ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ docs), āϝāĻž āϝā§āĻ āĻāϰāĻž āĻĄā§āĻāĻžāϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻšā§āϰāĻžāϏ āĻāϰāĻŦā§āĨ¤
āϝā§āĻšā§āϤ⧠āĻā§āĻāĻŋāϞ āĻāĻāĻāĻŋ āĻā§āϞ āϝāĻž āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻĄā§āĻāĻž āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻāĻŦāĻŋāϤ⧠āĻāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ, āϤāĻžāĻ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻž āϝā§āĻā§āϤāĻŋāĻ āĻšāĻŦā§ , āĻāĻŦāĻ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻāĻŋāϤā§āϰ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϏāĻāĻāϞāύā§āϰ āĻĢāϞāĻžāĻĢāϞ āĻāĻŽāĻĻāĻžāύāĻŋ āĻāϰā§āύ.
āĻāĻŽāϰāĻž werf.yaml āϞāĻŋāĻāĻŋ
āϏā§āϤāϰāĻžāĻ, āĻāĻŽāϰāĻž āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύāĻŋāϝāĻŧā§āĻāĻŋ āϝ⧠āĻāĻŽāϰāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖāĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻāϝāĻŧāĻžāϰā§āĻĢ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻā§ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻŦāĨ¤ āϝāĻžāĻāĻšā§āĻ āĻāĻŽāϰāĻž āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āϏāĻŽāϝāĻŧ āĻāĻ āύāĻŋāĻĻāϰā§āĻļāύāĻā§āϞāĻŋāϰ āĻāϤāĻā§āϞāĻŋ āĻĨāĻžāĻāĻŦā§ āϤāĻž āĻāĻŽāϰāĻž āĻāĻžāύāĻŋ āύāĻž, āϤāĻžāĻ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŦāĻŋāϞā§āĻĄ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āϞāĻŋāĻāϤ⧠āĻĒāĻžāϰāĻŋ āύāĻž (āĻāĻ ā§āϰāĻāĻžāĻŦā§ āĻŦāϞāϤ⧠āĻā§āϞā§, āĻāĻŽāϰāĻž āĻāĻāύāĻ āĻĒāĻžāϰāĻŋ, āϤāĻŦā§ āĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻāĻžāϰā§āϝāĻāϰ āĻšāĻŦā§ āύāĻž)āĨ¤
werf āĻāĻĒāύāĻžāĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ āĻāĻĒāύāĻžāϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĢāĻžāĻāϞ⧠(werf.yaml), āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻŋ āϏāĻŽā§āĻāĻŦ āĻāϰ⧠āϤā§āϞ⧠āĻĢā§āϞāĻžāĻāϤ⧠āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āϤā§āϰāĻŋ āĻāϰā§āύ āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĄā§āĻāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠(āĻāĻĒāύāĻžāϰ āϝāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ!) āĻāĻŽāĻžāĻĻā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĄā§āĻāĻž āĻšāϞ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻŦāĻ āϰāĻŋāϞāĻŋāĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āϤāĻĨā§āϝ, āϝāĻžāϰ āĻāĻŋāϤā§āϤāĻŋāϤ⧠āĻāĻŽāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻāĻā§āϝāĻ āύāĻŋāĻĻāϰā§āĻļāύ āϏāĻāĻā§āϰāĻš āĻāϰāĻŋ āĻāĻŦāĻ āĻĢāϞāϏā§āĻŦāϰā§āĻĒ āĻāĻŽāϰāĻž āĻĻā§āĻāĻŋ āĻāĻŋāϤā§āϰ āĻĒāĻžāĻ: werf-doc и werf-dev āĻŦāĻŋāĻāĻŋāύā§āύ āϏāĻžāϰā§āĻāĻŋāĻā§ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝāĨ¤
āĻŦāĻžāĻšā§āϝāĻŋāĻ āϤāĻĨā§āϝ āĻĒāϰāĻŋāĻŦā§āĻļ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĒāĻžāϏ āĻāϰāĻž āĻšāϝāĻŧ. āĻāĻāĻžāύ⧠āϤāĻžāĻĻā§āϰ āϰāĻāύāĻž:
-
RELEASESâ āϰāĻŋāϞāĻŋāĻāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āĻāĻŦāĻ werf āĻāϰ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻāϏā§āĻāϰāĻŖ āϏāĻš āĻāĻāĻāĻŋ āϞāĻžāĻāύ, āĻŦāĻŋāύā§āϝāĻžāϏ⧠āĻŽāĻžāύāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϏā§āĻĨāĻžāύ-āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āϤāĻžāϞāĻŋāĻāĻž āĻāĻāĻžāϰā§<ĐĐĐĐĐ _Đ ĐĐĐĐĐ>%<ĐĐĐĐĐ _ĐĐĐ ĐĄĐĐ>āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖ:1.0%v1.0.4-beta.20 -
CHANNELSâ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āĻāĻŦāĻ werf āĻāϰ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻāϏā§āĻāϰāĻŖ āϏāĻš āĻāĻāĻāĻŋ āϞāĻžāĻāύ, āĻŦāĻŋāύā§āϝāĻžāϏ⧠āĻŽāĻžāύāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϏā§āĻĨāĻžāύ-āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āϤāĻžāϞāĻŋāĻāĻž āĻāĻāĻžāϰā§<ĐĐĐĐĐ>%<ĐĐĐĐĐ _ĐĐĐ ĐĄĐĐ>āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖ:1.0-beta%v1.0.4-beta.20 1.0-alpha%v1.0.5-alpha.22 -
ROOT_VERSIONâ werf āϰāĻŋāϞāĻŋāĻ āϏāĻāϏā§āĻāϰāĻŖ āϏāĻžāĻāĻā§ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āĻšāĻŦā§ (āϏāϰā§āĻŦā§āĻā§āĻ āϰāĻŋāϞāĻŋāĻ āϏāĻāĻā§āϝāĻž āĻĻā§āĻŦāĻžāϰāĻž āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāĻž āϏāϰā§āĻŦāĻĻāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ āύāĻž)āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖ:v1.0.4-beta.20 -
REVIEW_SHAâ āϰāĻŋāĻāĻŋāĻ āĻāĻŽāĻŋāĻā§āϰ āĻšā§āϝāĻžāĻļ āϝāĻž āĻĨā§āĻā§ āĻāĻĒāύāĻžāĻā§ āĻā§āϏā§āĻ āϞā§āĻĒā§āϰ āϏāĻāϏā§āĻāϰāĻŖ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
āĻāĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻā§āϞāĻŋ GitLab CI āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ⧠āĻĒā§āϰāĻŖ āĻāϰāĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻ āĻŋāĻ āĻāĻŋāĻāĻžāĻŦā§ āύāĻŋāĻā§ āϞā§āĻāĻž āĻāĻā§āĨ¤
āĻĒā§āϰāĻĨāĻŽāϤ, āϏā§āĻŦāĻŋāϧāĻžāϰ āĻāύā§āϝ, āĻāĻŽāϰāĻž āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻŋ werf.yaml āĻā§āĻŽāĻĒā§āϞā§āĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻā§āϞāĻŋāϤ⧠āϝāĻžāύ, āĻĒāϰāĻŋāĻŦā§āĻļā§āϰ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āĻĨā§āĻā§ āϤāĻžāĻĻā§āϰ āĻŽāĻžāύ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āύ:
{{ $_ := set . "WerfVersions" (cat (env "CHANNELS") (env "RELEASES") | splitList " ") }}
{{ $Root := . }}
{{ $_ := set . "WerfRootVersion" (env "ROOT_VERSION") }}
{{ $_ := set . "WerfReviewCommit" (env "REVIEW_SHA") }} āϏāĻžāĻāĻā§āϰ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻā§āϰ āĻŦāĻŋāĻŦāϰāĻŖ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻŽāϏā§āϤ āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻ āĻšāϝāĻŧ (āϰā§āĻ āϏāĻāϏā§āĻāϰāĻŖ āϤā§āϰāĻŋ āĻāϰāĻž, āϏā§āĻāϏāĻžāĻĨā§ āĻĄā§āĻ āϏāĻžāϰā§āĻāĻŋāĻā§āϰ āϏāĻāϏā§āĻāϰāĻŖ āϏāĻš)āĨ¤ āĻ
āϤāĻāĻŦ, āĻāĻŽāϰāĻž āĻĢāĻžāĻāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻŦā§āϞāĻā§ āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰ āĻāϰāĻŦ define - āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻĒā§āύāϰāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ include. āĻāĻŽāϰāĻž āĻā§āĻŽāĻĒā§āϞā§āĻā§ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāϰā§āĻā§āĻŽā§āύā§āĻ āĻĒāĻžāϏ āĻāϰāĻŦ:
-
Versionâ āϤā§āϰāĻŋ āϏāĻāϏā§āĻāϰāĻŖ (āĻā§āϝāĻžāĻ āύāĻžāĻŽ); -
Channelâ āĻāĻĒāĻĄā§āĻ āĻā§āϝāĻžāύā§āϞā§āϰ āύāĻžāĻŽ āϝāĻžāϰ āĻāύā§āϝ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§; -
Commitâ āĻāĻŽāĻŋāĻ āĻšā§āϝāĻžāĻļ, āϝāĻĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻāĻāĻŋ āϰāĻŋāĻāĻŋāĻ āĻāĻŽāĻŋāĻā§āϰ āĻāύā§āϝ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ; - āĻĒā§āϰāϏāĻā§āĻ
āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻā§āĻŽāĻĒā§āϞā§āĻ āĻŦāϰā§āĻŖāύāĻž
{{- define "doc_artifact" -}}
{{- $Root := index . "Root" -}}
artifact: doc-{{ .Channel }}
from: jekyll/builder:3
mount:
- from: build_dir
to: /usr/local/bundle
ansible:
install:
- shell: |
export PATH=/usr/jekyll/bin/:$PATH
- name: "Install Dependencies"
shell: bundle install
args:
executable: /bin/bash
chdir: /app/docs
beforeSetup:
{{- if .Commit }}
- shell: echo "Review SHA - {{ .Commit }}."
{{- end }}
{{- if eq .Channel "root" }}
- name: "releases.yml HASH: {{ $Root.Files.Get "releases.yml" | sha256sum }}"
copy:
content: |
{{ $Root.Files.Get "releases.yml" | indent 8 }}
dest: /app/docs/_data/releases.yml
{{- else }}
- file:
path: /app/docs/_data/releases.yml
state: touch
{{- end }}
- file:
path: "{{`{{ item }}`}}"
state: directory
mode: 0777
with_items:
- /app/main_site/
- /app/ru_site/
- file:
dest: /app/docs/pages_ru/cli
state: link
src: /app/docs/pages/cli
- shell: |
echo -e "werfVersion: {{ .Version }}nwerfChannel: {{ .Channel }}" > /tmp/_config_additional.yml
export PATH=/usr/jekyll/bin/:$PATH
{{- if and (ne .Version "review") (ne .Channel "root") }}
{{- $_ := set . "BaseURL" ( printf "v%s" .Channel ) }}
{{- else if ne .Channel "root" }}
{{- $_ := set . "BaseURL" .Channel }}
{{- end }}
jekyll build -s /app/docs -d /app/_main_site/{{ if .BaseURL }} --baseurl /{{ .BaseURL }}{{ end }} --config /app/docs/_config.yml,/tmp/_config_additional.yml
jekyll build -s /app/docs -d /app/_ru_site/{{ if .BaseURL }} --baseurl /{{ .BaseURL }}{{ end }} --config /app/docs/_config.yml,/app/docs/_config_ru.yml,/tmp/_config_additional.yml
args:
executable: /bin/bash
chdir: /app/docs
git:
- url: https://github.com/flant/werf.git
to: /app/
owner: jekyll
group: jekyll
{{- if .Commit }}
commit: {{ .Commit }}
{{- else }}
tag: {{ .Version }}
{{- end }}
stageDependencies:
install: ['docs/Gemfile','docs/Gemfile.lock']
beforeSetup: '**/*'
includePaths: 'docs'
excludePaths: '**/*.sh'
{{- end }} āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽā§āϰ āύāĻžāĻŽ āĻ
āĻŦāĻļā§āϝāĻ āĻ
āύāύā§āϝ āĻšāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻŽāϰāĻž āĻāĻāĻŋ āĻ
āϰā§āĻāύ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻā§āϝāĻžāύā§āϞā§āϰ āύāĻžāĻŽ āϝā§āĻ āĻāϰ⧠(āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āĻŽāĻžāύ .Channel) āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽā§āϰ āύāĻžāĻŽā§āϰ āĻĒā§āϰāϤā§āϝāϝāĻŧ āĻšāĻŋāϏāĻžāĻŦā§: artifact: doc-{{ .Channel }}. āĻāĻŋāύā§āϤ⧠āĻāĻĒāύāĻžāĻā§ āĻŦā§āĻāϤ⧠āĻšāĻŦā§ āϝ⧠āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻĨā§āĻā§ āĻāĻŽāĻĻāĻžāύāĻŋ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻĒāύāĻžāĻā§ āĻāĻāĻ āύāĻžāĻŽ āĻāϞā§āϞā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
āĻāĻāĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāϝāĻŧāĻžāϰā§āĻĢ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ: . āĻŽāĻžāĻāύā§āĻāĻŋāĻ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠build_dir āĻāĻĒāύāĻžāĻā§ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āϰāĻžāύā§āϰ āĻŽāϧā§āϝ⧠āĻā§āĻāĻŋāϞ āĻā§āϝāĻžāĻļā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ, āϝāĻž āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ reassembly āĻāĻĒ āĻāϤāĻŋ.
āĻāĻĒāύāĻŋ āĻĢāĻžāĻāϞā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ āϞāĻā§āώā§āϝ āĻāϰā§āĻā§āύ releases.yml āĻĨā§āĻā§ āĻ
āύā§āϰā§āϧ āĻāϰāĻž āϰāĻŋāϞāĻŋāĻ āĻĄā§āĻāĻž āϏāĻš āĻāĻāĻāĻŋ YAML āĻĢāĻžāĻāϞ (āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻāĻžāϞāĻžāύā§āϰ āϏāĻŽāϝāĻŧ āĻĒā§āϰāĻžāĻĒā§āϤ āĻāĻāĻāĻŋ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽ)āĨ¤ āϏāĻžāĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ, āϤāĻŦā§ āύāĻŋāĻŦāύā§āϧā§āϰ āĻĒā§āϰāϏāĻā§āĻā§ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻāĻžāϰāĻŖ āĻāĻāĻŋ āϤāĻžāϰ āĻ
āĻŦāϏā§āĻĨāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻā§āϰ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻž â āϏāĻžāĻāĻā§āϰ āϰā§āĻ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāĻāĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ (āĻ
āύā§āϝāĻžāύā§āϝ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽā§ āĻāĻāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ)āĨ¤
āĻāĻāĻŋ āĻļāϰā§āϤāϏāĻžāĻĒā§āĻā§āώ āĻŦāĻŋāĻŦā§āϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧ if āĻā§āĻŽāĻĒā§āϞā§āĻ āĻāĻŦāĻ āĻĄāĻŋāĻāĻžāĻāύ āϝāĻžāύ {{ $Root.Files.Get "releases.yml" | sha256sum }} āĻĒāϰā§āϝāĻžāϝāĻŧā§ . āĻāĻāĻŋ āύāĻŋāĻŽā§āύāϰā§āĻĒ āĻāĻžāĻ āĻāϰā§: āϰā§āĻ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ (āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ .Channel āĻšāϝāĻŧ root) āĻĢāĻžāĻāϞ āĻšā§āϝāĻžāĻļ releases.yml āĻĒā§āϰ⧠āĻĒāϰā§āϝāĻžāϝāĻŧā§āϰ āϏā§āĻŦāĻžāĻā§āώāϰāĻā§ āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰā§, āϝā§āĻšā§āϤ⧠āĻāĻāĻŋ āĻāϤā§āϤāϰāϝā§āĻā§āϝ āĻāĻžāϏā§āĻā§āϰ āύāĻžāĻŽā§āϰ āĻ
āĻāĻļ (āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ name) āĻāĻāĻāĻžāĻŦā§, āϝāĻāύ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻĢāĻžāĻāϞ releases.yml āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻž āĻšāĻŦā§āĨ¤
āĻ
āύā§āĻā§āϰāĻš āĻāϰ⧠āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāϰāĻžāĻāϤ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻĻāĻŋāĻā§āĻ āĻŽāύā§āϝā§āĻ āĻĻāĻŋāύāĨ¤ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽā§āϰ āĻāĻŦāĻŋāϤ⧠, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧ /docs, āĻāĻŦāĻ āĻĒāĻžāϏ āĻāϰāĻž āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋāĻā§āϞāĻŋāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§, āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻā§āϝāĻžāĻ āĻŦāĻž āĻĒāϰā§āϝāĻžāϞā§āĻāύāĻž āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋāϰ āĻĄā§āĻāĻž āĻ
āĻŦāĻŋāϞāĻŽā§āĻŦā§ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻā§āϝāĻžāύā§āϞ āĻāĻŦāĻ āϰāĻŋāϞāĻŋāĻā§āϰ āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰāĻŋāϤ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϰ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻā§āϰ āĻāĻāĻāĻŋ āĻŦāĻŋāĻŦāϰāĻŖ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻā§āĻŽāĻĒā§āϞā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤā§, āĻāĻŽāϰāĻž āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āĻāĻĒāϰ āĻāĻāĻāĻŋ āϞā§āĻĒ āϏāĻāĻāĻ āĻŋāϤ āĻāϰāĻŋ .WerfVersions в werf.yaml:
{{ range .WerfVersions -}}
{{ $VersionsDict := splitn "%" 2 . -}}
{{ dict "Version" $VersionsDict._1 "Channel" $VersionsDict._0 "Root" $Root | include "doc_artifact" }}
---
{{ end -}} āĻāĻžāϰāĻŖ āϞā§āĻĒāĻāĻŋ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āύāĻŋāĻĻāϰā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāĻŦā§ (āĻāĻŽāϰāĻž āĻāĻļāĻž āĻāϰāĻŋ), āϤāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻŦāĻŋāĻāĻžāĻāĻāĻāĻŋ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ - āĻā§āϰāĻŽāĻāĻŋ --- (āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĢāĻžāĻāϞ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϰāĻ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ, āĻĻā§āĻā§āύ ) āĻĒā§āϰā§āĻŦā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϞā§āĻĒā§ āĻāĻāĻāĻŋ āĻā§āĻŽāĻĒā§āϞā§āĻ āĻāϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻŽāϰāĻž āϏāĻāϏā§āĻāϰāĻŖ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ, URL āĻāĻŦāĻ āϰā§āĻ āĻĒā§āϰāϏāĻā§āĻ āĻĒāĻžāϏ āĻāϰāĻŋāĨ¤
āĻāĻāĻāĻāĻžāĻŦā§, āĻāĻŋāύā§āϤ⧠āϞā§āĻĒ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻŽāϰāĻž āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻā§āĻŽāĻĒā§āϞā§āĻāĻā§ "āĻŦāĻŋāĻļā§āώ āĻā§āώā§āϤā§āϰā§" āĻŦāϞāĻŋ: āϰā§āĻ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ, āϏā§āĻāϏāĻžāĻĨā§ āĻĒāϰā§āϝāĻžāϞā§āĻāύāĻž āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋāϰ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ:
{{ dict "Version" .WerfRootVersion "Channel" "root" "Root" $Root | include "doc_artifact" }}
---
{{- if .WerfReviewCommit }}
{{ dict "Version" "review" "Channel" "review" "Commit" .WerfReviewCommit "Root" $Root | include "doc_artifact" }}
{{- end }} āĻ
āύā§āĻā§āϰāĻš āĻāϰ⧠āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠āϰāĻŋāĻāĻŋāĻ āĻāĻŽāĻŋāĻā§āϰ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϤāĻāύāĻ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāĻŦā§ āϝāĻĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ āϏā§āĻ āĻāϰāĻž āĻĨāĻžāĻā§ .WerfReviewCommit.
āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽ āĻĒā§āϰāϏā§āϤā§āϤ - āĻāĻāĻŋ āĻāĻŽāĻĻāĻžāύāĻŋ āĻļā§āϰ⧠āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ!
āĻā§āĻŦāĻžāϰāύā§āĻā§ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻāĻŋāϤā§āϰāĻāĻŋ āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĢāĻžāĻāϞ āϝā§āĻā§āϤ āĻāĻāĻāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ NGINX nginx.conf āĻāĻŦāĻ āύāĻŋāĻĻāϰā§āĻļāύ āĻĨā§āĻā§ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ. āϏāĻžāĻāĻā§āϰ āϰā§āĻ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻŽāĻžāĻĻā§āϰ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āϞā§āĻĒāĻāĻŋ āĻĒā§āύāϰāĻžāĻŦā§āϤā§āϤāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§ .WerfVersions āĻā§āϝāĻžāύā§āϞā§āϰ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻāĻŽāĻĻāĻžāύāĻŋ āĻāϰāϤ⧠āĻāĻŦāĻ āϏāĻāϏā§āĻāϰāĻŖ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāϤ⧠+ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āύāĻžāĻŽāĻāϰāĻŖā§āϰ āύāĻŋāϝāĻŧāĻŽ āĻ
āύā§āϏāϰāĻŖ āĻāϰā§āύ āϝāĻž āĻāĻŽāϰāĻž āĻāĻā§ āĻā§āϰāĻšāĻŖ āĻāϰā§āĻāĻŋāĨ¤ āϝā§āĻšā§āϤ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻĻā§āĻāĻŋ āĻāĻžāώāĻžāϰ āĻāύā§āϝ āϏāĻžāĻāĻā§āϰ āϏāĻāϏā§āĻāϰāĻŖ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§, āĻāĻŽāϰāĻž āϏā§āĻā§āϞāĻŋāĻā§ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻĻāϤā§āϤ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻāĻŽāĻĻāĻžāύāĻŋ āĻāϰāĻŋāĨ¤
āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻāĻŋāϤā§āϰā§āϰ āĻŦāϰā§āĻŖāύāĻž werf-doc
image: werf-doc
from: nginx:stable-alpine
ansible:
setup:
- name: "Setup /etc/nginx/nginx.conf"
copy:
content: |
{{ .Files.Get ".werf/nginx.conf" | indent 8 }}
dest: /etc/nginx/nginx.conf
- file:
path: "{{`{{ item }}`}}"
state: directory
mode: 0777
with_items:
- /app/main_site/assets
- /app/ru_site/assets
import:
- artifact: doc-root
add: /app/_main_site
to: /app/main_site
before: setup
- artifact: doc-root
add: /app/_ru_site
to: /app/ru_site
before: setup
{{ range .WerfVersions -}}
{{ $VersionsDict := splitn "%" 2 . -}}
{{ $Channel := $VersionsDict._0 -}}
{{ $Version := $VersionsDict._1 -}}
- artifact: doc-{{ $Channel }}
add: /app/_main_site
to: /app/main_site/v{{ $Channel }}
before: setup
{{ end -}}
{{ range .WerfVersions -}}
{{ $VersionsDict := splitn "%" 2 . -}}
{{ $Channel := $VersionsDict._0 -}}
{{ $Version := $VersionsDict._1 -}}
- artifact: doc-{{ $Channel }}
add: /app/_ru_site
to: /app/ru_site/v{{ $Channel }}
before: setup
{{ end -}}āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻŋāϤā§āϰ, āϝāĻž āĻĒā§āϰāϧāĻžāύāĻāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻāϏāĻžāĻĨā§, āĻĄā§āĻ āϏāĻžāϰā§āĻāĻŋāĻā§ āϞāĻā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāϤ⧠āϏāĻžāĻāĻā§āϰ āĻŽāĻžāϤā§āϰ āĻĻā§āĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖ āϰāϝāĻŧā§āĻā§: āĻĒāϰā§āϝāĻžāϞā§āĻāύāĻž āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋ āĻĨā§āĻā§ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻŦāĻ āϏāĻžāĻāĻā§āϰ āĻŽā§āϞ āϏāĻāϏā§āĻāϰāĻŖ (āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŽā§āĻĒāĻĻ āϰāϝāĻŧā§āĻā§ āĻāĻŦāĻ, āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻŽāύ⧠āϰāĻžāĻā§āύ , āϤāĻĨā§āϝ āĻĒā§āϰāĻāĻžāĻļ āĻāϰā§āύ)āĨ¤ āϏā§āϤāϰāĻžāĻ, āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻŋāϤā§āϰāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻŽāĻĻāĻžāύāĻŋ āĻŦāĻŋāĻāĻžāĻā§ (āĻāĻŦāĻ, āĻ āĻŦāĻļā§āϝāĻ, āύāĻžāĻŽā§) āĻĒā§āϰāϧāĻžāύ āĻĨā§āĻā§ āĻĒā§āĻĨāĻ āĻšāĻŦā§:
image: werf-dev
...
import:
- artifact: doc-root
add: /app/_main_site
to: /app/main_site
before: setup
- artifact: doc-root
add: /app/_ru_site
to: /app/ru_site
before: setup
{{- if .WerfReviewCommit }}
- artifact: doc-review
add: /app/_main_site
to: /app/main_site/review
before: setup
- artifact: doc-review
add: /app/_ru_site
to: /app/ru_site/review
before: setup
{{- end }} āĻāĻĒāϰ⧠āĻāϞā§āϞāĻŋāĻāĻŋāϤ āĻšāĻŋāϏāĻžāĻŦā§, āĻĒāϰā§āϝāĻžāϞā§āĻāύāĻž āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋāϰ āĻāύā§āϝ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϤāĻāύāĻ āϤā§āϰāĻŋ āĻšāĻŦā§ āϝāĻāύ āϏā§āĻ āĻāύāĻāĻžāϝāĻŧāϰāύāĻŽā§āύā§āĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āĻāĻžāϞāĻžāύ⧠āĻšāĻŦā§ REVIEW_SHA. āĻĒāϰāĻŋāĻŦā§āĻļ āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ āύāĻž āĻĨāĻžāĻāϞ⧠werf-dev āĻāĻŽā§āĻ āϤā§āϰāĻŋ āύāĻž āĻāϰāĻž āϏāĻŽā§āĻāĻŦ āĻšāĻŦā§ REVIEW_SHA, āĻāĻŋāύā§āϤ⧠āĻāϰāĻžāϰ āĻāύā§āϝ werf-āĻ āĻĄāĻāĻžāϰ āĻāĻŽā§āĻāĻā§āϞāĻŋ werf-dev āĻāĻŽā§āĻā§āϰ āĻāύā§āϝ āĻāĻžāĻ āĻāϰā§āĻā§, āĻāĻŽāϰāĻž āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻāĻžāĻ āĻžāĻŽā§āĻā§ āϏāĻšāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻŋāĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϰā§āĻ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ (āĻāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§) āĻĻāĻŋāϝāĻŧā§ āϤā§āϰāĻŋ āĻāϰāĻž āĻā§āĻĄāĻŧā§ āĻĻā§āĻŦāĨ¤
āϏāĻŽāĻžāĻŦā§āĻļ āĻĒā§āϰāϏā§āϤā§āϤ! āĻāϏā§āύ āϏāĻŋāĻāĻ/āϏāĻŋāĻĄāĻŋ āĻāĻŦāĻ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϏā§āĻā§āώā§āĻŽ āĻŦāĻŋāώāϝāĻŧāĻā§āϞāĻŋāϤ⧠āĻāĻāĻŋāϝāĻŧā§ āϝāĻžāĻāĨ¤
GitLab CI-āĻ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻāĻŦāĻ āĻāϤāĻŋāĻļā§āϞ āĻŦāĻŋāϞā§āĻĄā§āϰ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ
āĻŦāĻŋāϞā§āĻĄ āĻāĻžāϞāĻžāύā§āϰ āϏāĻŽāϝāĻŧ āĻāĻŽāĻžāĻĻā§āϰ āĻŦā§āϝāĻŦāĻšā§āϤ āĻĒāϰāĻŋāĻŦā§āĻļ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϏā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ werf.yaml. āĻāĻāĻŋ REVIEW_SHA āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻĒā§āϰāϝā§āĻā§āϝ āύāϝāĻŧ, āϝāĻž āĻāĻŽāϰāĻž GitHub āĻšā§āĻ āĻĨā§āĻā§ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻāϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āϏā§āĻ āĻāϰāĻŦāĨ¤
āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻŦā§āϝāĻžāĻļ āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĄā§āĻāĻž āϤā§āϰāĻŋ āĻāϰāĻŦ generate_artifacts, āϝāĻž āĻĻā§āĻāĻŋ āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽ āϤā§āϰāĻŋ āĻāϰāĻŦā§:
- ŅаКĐģ
releases.ymlāϰāĻŋāϞāĻŋāĻ āĻĄā§āĻāĻž āϏāĻš, - ŅаКĐģ
common_envs.sh, āϰāĻĒā§āϤāĻžāύāĻŋ āĻāϰāĻž āĻĒāϰāĻŋāĻŦā§āĻļ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϧāĻžāϰāĻŖāĻāĻžāϰā§.
āĻĢāĻžāĻāϞ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠generate_artifacts āĻāĻĒāύāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻĒāĻžāĻŦā§āύ . āϤāĻĨā§āϝ āĻĒā§āϰāĻžāĻĒā§āϤāĻŋ āύāĻŋāĻā§āĻ āύāĻŋāĻŦāύā§āϧā§āϰ āĻŦāĻŋāώāϝāĻŧ āύāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āĻĢāĻžāĻāϞ common_envs.sh āĻāĻŽāĻžāĻĻā§āϰ āĻāύā§āϝ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ, āĻāĻžāϰāĻŖ werf āĻāϰ āĻāĻžāĻ āĻāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤ āĻāϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§āϰ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ:
export RELEASES='1.0%v1.0.6-4'
export CHANNELS='1.0-alpha%v1.0.7-1 1.0-beta%v1.0.7-1 1.0-ea%v1.0.6-4 1.0-stable%v1.0.6-4 1.0-rock-solid%v1.0.6-4'
export ROOT_VERSION='v1.0.6-4' āĻāĻĒāύāĻŋ āϝā§āĻŽāύ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻāĻāĻāĻĒā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻŦā§āϝāĻžāĻļ āĻĢāĻžāĻāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠source.
āĻāĻāύ āĻāϏāĻā§ āĻŽāĻāĻžāϰ āĻŦā§āϝāĻžāĻĒāĻžāϰāĻāĻŋāĨ¤ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋāϰ āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāĻŦāĻ āϏā§āĻĨāĻžāĻĒāύāĻž āĻāĻāϝāĻŧāĻ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ werf.yaml āĻŽāύ⧠āĻšāĻā§āĻāĻŋāϞ āĻāĻāĻ āĻ
āύā§āϤāϤ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύā§āϰ āĻŽāϧā§āϝā§. āϝāĻĻāĻŋ āĻāĻ āĻļāϰā§āϤāĻāĻŋ āĻĒā§āϰāĻŖ āĻāϰāĻž āύāĻž āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠āĻāϝāĻŧāĻžāϰāĻĢ āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āϏāĻŽāϝāĻŧ āĻāĻŖāύāĻž āĻāϰ⧠āĻāĻŦāĻ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϏā§āĻĨāĻžāĻĒāύāĻžāϰ āĻĒāϰā§āϝāĻžāϝāĻŧāĻā§āϞāĻŋāϰ āϏā§āĻŦāĻžāĻā§āώāϰāĻā§āϞāĻŋ āĻāĻŋāύā§āύ āĻšāĻŦā§ā§ˇ āĻāĻāĻŋ āĻāĻāĻāĻŋ āϏā§āĻĨāĻžāĻĒāύāĻžāϰ āϤā§āϰā§āĻāĻŋāϰ āĻĻāĻŋāĻā§ āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāϰāĻŦā§, āĻāĻžāϰāĻŖ... āϏā§āĻĨāĻžāĻĒāύāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻŦāĻŋ āĻ
āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻšāĻŦā§āĨ¤
āĻ āύā§āϝ āĻāĻĨāĻžāϝāĻŧ, āϝāĻĻāĻŋ āϏāĻžāĻāĻā§āϰ āĻāĻŋāϤā§āϰā§āϰ āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āϏāĻŽāϝāĻŧ āϰāĻŋāϞāĻŋāĻ āĻāĻŦāĻ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϰ āϤāĻĨā§āϝ āĻāĻāĻ āĻšāϝāĻŧ āĻāĻŦāĻ āϏā§āĻĨāĻžāĻĒāύāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻāĻŋ āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖ āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āĻšāϝāĻŧ āĻāĻŦāĻ āĻĒāϰāĻŋāĻŦā§āĻļā§āϰ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āĻŦāĻŋāĻāĻŋāύā§āύ āĻŽāĻžāύ āĻĨāĻžāĻā§, āϤāĻžāĻšāϞ⧠āϏā§āĻĨāĻžāĻĒāύāĻžāĻāĻŋ āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋāϰ āϏāĻžāĻĨā§ āĻŦā§āϝāϰā§āĻĨ āĻšāĻŦā§: āϏāϰā§āĻŦā§āĻĒāϰāĻŋ, āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽāĻāĻŋ āĻāĻāύāĻ āύāĻŋāϰā§āĻŽāĻŋāϤ āĻšāϝāĻŧāύāĻŋāĨ¤
āϝāĻĻāĻŋ āĻĒā§āϰāĻāύā§āĻŽ werf.yaml āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĄā§āĻāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠(āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž, āϝā§āĻŽāύ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āώā§āϤā§āϰā§), āϤāĻžāϰāĻĒāϰ⧠āĻāĻ āĻāĻžāϤā§āϝāĻŧ āĻĄā§āĻāĻžāϰ āϰāĻāύāĻž āĻāĻŦāĻ āĻŽāĻžāύāĻā§āϞāĻŋ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύā§āϰ āĻŽāϧā§āϝ⧠āϰā§āĻāϰā§āĻĄ āĻāϰāĻž āĻāĻāĻŋāϤāĨ¤ āĻāĻāĻŋ āĻŦāĻŋāĻļā§āώ āĻāϰ⧠āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϝāĻĻāĻŋ āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋāĻā§āϞāĻŋ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϝāĻŧāĨ¤
āĻāĻŽāϰāĻž āĻāϰāĻŦ āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĄā§āĻāĻž āĻā§āϰāĻšāĻŖ āĻāĻŦāĻ āϰā§āĻāϰā§āĻĄ āĻāϰā§āύ āĻāĻŋāĻāϞā§āϝāĻžāĻŦā§ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻĒāϰā§āϝāĻžāϝāĻŧā§ (āĻĒā§āϰā§āĻŦāύāĻŋāϰā§āĻŽāĻžāĻŖ) āĻāĻŦāĻ āϏā§āĻā§āϞāĻŋāĻā§ āĻāϰāĻ āĻāĻāĻžāϰ⧠āĻĒā§āϰā§āϰāĻŖ āĻāϰā§āύ āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āϏāĻŋāĻāĻ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ. āĻāĻāĻŋ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āϏāĻžāĻĨā§ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻāĻžāĻāĻā§āϞāĻŋ (āĻŦāĻŋāϞā§āĻĄ, āϏā§āĻĨāĻžāĻĒāύ, āĻĒāϰāĻŋāώā§āĻāĻžāϰ) āĻāĻžāϞāĻžāύ⧠āĻāĻŦāĻ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻžāϞ⧠āĻāϰāĻžāϰ āĻ
āύā§āĻŽāϤāĻŋ āĻĻā§āĻŦā§ werf.yaml.
āĻŽāĻā§āĻā§āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻĒā§āϰā§āĻŦāύāĻŋāϰā§āĻŽāĻžāĻŖ āĻĢāĻžāĻāϞ .gitlab-ci.yml:
Prebuild:
stage: prebuild
script:
- bash ./generate_artifacts 1> common_envs.sh
- cat ./common_envs.sh
artifacts:
paths:
- releases.yml
- common_envs.sh
expire_in: 2 weekāĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻā§ āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĄā§āĻāĻž āĻā§āϝāĻžāĻĒāĻāĻžāϰ āĻāϰāĻžāϰ āĻĒāϰā§, āĻāĻĒāύāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āϏāĻŋāĻāĻ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āϧāĻžāĻĒāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϤā§āϰāĻŋ āĻāĻŦāĻ āϏā§āĻĨāĻžāĻĒāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ: āϤā§āϰāĻŋ āĻāϰā§āύ āĻāĻŦāĻ āϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āύāĨ¤ āĻāĻŽāϰāĻž āĻāĻŋāĻāĻšāĻžāĻŦ āĻāϝāĻŧāĻžāϰā§āĻĢ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻĨā§āĻā§ āĻšā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒāĻžāĻāĻĒāϞāĻžāĻāύāĻāĻŋ āύāĻŋāĻā§āĻ āĻāĻžāϞ⧠āĻāϰāĻŋ (āĻ āϰā§āĻĨāĻžā§, āϝāĻāύ āĻāĻŋāĻāĻšāĻžāĻŦā§āϰ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϝāĻŧ)āĨ¤ āϤāĻžāĻĻā§āϰ āĻāύā§āϝ āĻĄā§āĻāĻž āĻŦāĻŋāĻāĻžāĻā§ āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āĻĒā§āϰāĻāϞā§āĻĒ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ⧠āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāĻŦā§ CI/CD āϏā§āĻāĻŋāĻāϏ -> āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻā§āϰāĻŋāĻāĻžāϰ, āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ āĻāĻŋāĻāĻšāĻžāĻŦā§ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āϤā§āϰāĻŋ āĻāϰā§āύ (āϏā§āĻāĻŋāĻāϏ -> āĻāϝāĻŧā§āĻŦāĻšā§āĻ).
āĻŦāĻŋāϞā§āĻĄ āϏā§āĻā§āĻ āĻāĻ āĻŽāϤ āĻĻā§āĻāĻžāĻŦā§:
Build:
stage: build
script:
- type multiwerf && . $(multiwerf use 1.0 alpha --as-file)
- type werf && source <(werf ci-env gitlab --tagging-strategy tag-or-branch --verbose)
- source common_envs.sh
- werf build-and-publish --stages-storage :local
except:
refs:
- schedules
dependencies:
- Prebuild āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āϏā§āĻā§āĻ āĻĨā§āĻā§ āĻŦāĻŋāϞā§āĻĄ āϏā§āĻā§āĻā§ āĻĻā§āĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āϝā§āĻā§āϤ āĻāϰāĻŦā§ āĻĒā§āϰā§āĻŦāύāĻŋāϰā§āĻŽāĻžāĻŖ, āϤāĻžāĻ āĻāĻŽāϰāĻž āĻāĻ āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒā§āϰāϏā§āϤā§āϤ āĻāύāĻĒā§āĻ āĻĄā§āĻāĻž āϏāĻš āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϰāĻĒā§āϤāĻžāύāĻŋ āĻāϰāĻŋ source common_envs.sh. āĻāĻāĻāĻŋ āϏāĻŽāϝāĻŧāϏā§āĻā§ āĻ
āύā§āϝāĻžāϝāĻŧā§ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻāĻžāϞ⧠āĻāϰāĻž āĻāĻžāĻĄāĻŧāĻž āĻāĻŽāϰāĻž āϏāĻŦ āĻā§āώā§āϤā§āϰā§āĻ āĻŦāĻŋāϞā§āĻĄ āϏā§āĻā§āĻ āĻļā§āϰ⧠āĻāϰāĻŋāĨ¤ āϏāĻŽāϝāĻŧāϏā§āĻā§ āĻ
āύā§āϏāĻžāϰā§, āĻāĻŽāϰāĻž āĻĒāϰāĻŋāώā§āĻāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻāĻžāϞāĻžāĻŦ - āĻāĻ āĻā§āώā§āϤā§āϰ⧠āϏāĻŽāĻžāĻŦā§āĻļ āĻāϰāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻāĨ¤
āϏā§āĻĨāĻžāĻĒāύāĻžāϰ āĻĒāϰā§āϝāĻžāϝāĻŧā§, āĻāĻŽāϰāĻž āĻĻā§āĻāĻŋ āĻāĻžāĻ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻŦ - āĻāĻāĻāĻŋ YAML āĻā§āĻŽāĻĒā§āϞā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻā§āĻĒāĻžāĻĻāύ āĻāĻŦāĻ āĻĄā§āĻ āϏāĻžāϰā§āĻāĻŋāĻā§ āϏā§āĻĨāĻžāĻĒāύā§āϰ āĻāύā§āϝ āĻāϞāĻžāĻĻāĻžāĻāĻžāĻŦā§:
.base_deploy: &base_deploy
stage: deploy
script:
- type multiwerf && . $(multiwerf use 1.0 alpha --as-file)
- type werf && source <(werf ci-env gitlab --tagging-strategy tag-or-branch --verbose)
- source common_envs.sh
- werf deploy --stages-storage :local
dependencies:
- Prebuild
except:
refs:
- schedules
Deploy to Production:
<<: *base_deploy
variables:
WERF_KUBE_CONTEXT: prod
environment:
name: production
url: werf.io
only:
refs:
- master
except:
variables:
- $REVIEW_SHA
refs:
- schedules
Deploy to Test:
<<: *base_deploy
variables:
WERF_KUBE_CONTEXT: dev
environment:
name: test
url: werf.test.flant.com
except:
refs:
- schedules
only:
variables:
- $REVIEW_SHA āĻāĻžāϰā§āϝāĻā§āϞāĻŋ āĻŽā§āϞāϤ āĻā§āĻŦāϞāĻŽāĻžāϤā§āϰ āĻā§āϞāĻžāϏā§āĻāĻžāϰ āĻĒā§āϰā§āĻā§āώāĻžāĻĒāĻ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻžāϰ āĻā§āώā§āϤā§āϰ⧠āĻĒā§āĻĨāĻ āĻšāϝāĻŧ āϝāĻžāϰ āĻŽāϧā§āϝ⧠werf āϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻž āĻāĻāĻŋāϤ (WERF_KUBE_CONTEXT), āĻāĻŦāĻ āϞā§āĻĒ āĻāύāĻāĻžāϝāĻŧāϰāύāĻŽā§āύā§āĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϏā§āĻ āĻāϰāĻž (environment.name и environment.url), āϝāĻž āĻĒāϰ⧠āĻšā§āϞāĻŽ āĻāĻžāϰā§āĻ āĻā§āĻŽāĻĒā§āϞā§āĻāĻā§āϞāĻŋāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āĻāĻŽāϰāĻž āĻā§āĻŽāĻĒā§āϞā§āĻā§āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻŦ āύāĻž, āĻāĻžāϰāĻŖ... āĻĒā§āϰāĻļā§āύ⧠āĻĨāĻžāĻāĻž āĻŦāĻŋāώāϝāĻŧā§āϰ āĻāύā§āϝ āϏā§āĻāĻžāύ⧠āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻāĻŋāĻā§ āύā§āĻ, āϤāĻŦā§ āĻāĻĒāύāĻŋ āϏā§āĻā§āϞāĻŋ āĻā§āĻāĻā§ āĻĒā§āϤ⧠āĻĒāĻžāϰā§āύ⧎ .
āĻā§āĻĄāĻŧāĻžāύā§āϤ āϏā§āĻĒāϰā§āĻļ
āϝā§āĻšā§āϤ⧠āĻāϝāĻŧāĻžāϰā§āĻĢ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āĻšāϝāĻŧ, āύāϤā§āύ āĻāĻŦāĻŋāĻā§āϞāĻŋ āĻāύ āĻāύ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻĄāĻāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋ āĻā§āϰāĻŽāĻžāĻāϤ āĻŦā§āĻĻā§āϧāĻŋ āĻĒāĻžāĻŦā§āĨ¤ āĻ āϤāĻāĻŦ, āύā§āϤāĻŋāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻāĻŋāϤā§āϰ āĻĒāϰāĻŋāĻā§āĻāύā§āύāϤāĻž āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻ āĻĒāϰāĻŋāĻšāĻžāϰā§āϝāĨ¤ āĻāĻāĻž āĻāϰāĻž āĻā§āĻŦāĻ āϏāĻšāĻāĨ¤
āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāϤ⧠āĻāĻĒāύāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§:
- āĻāĻāĻāĻŋ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻĒāĻĻāĻā§āώā§āĻĒ āϝā§āĻ āĻāϰā§āύ
.gitlab-ci.yml; - āĻāĻāĻāĻŋ āĻĒāϰāĻŋāĻā§āĻāύā§āύāϤāĻžāϰ āĻāĻžāĻā§āϰ āĻĒāϰā§āϝāĻžāϝāĻŧāĻā§āϰāĻŽāĻŋāĻ āϏāĻŽā§āĻĒāĻžāĻĻāύ āϝā§āĻ āĻāϰā§āύ;
- āĻāĻāĻāĻŋ āϞā§āĻāĻžāϰ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻā§āĻā§āύ āϏāĻš āĻāĻāĻāĻŋ āĻĒāϰāĻŋāĻŦā§āĻļ āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ āϏā§āĻ āĻāĻĒ āĻāϰā§āύāĨ¤
āĻāĻāĻāĻŋ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻĒāϰā§āϝāĻžāϝāĻŧ āϝā§āĻ āĻāϰāĻž āĻšāĻā§āĻā§ .gitlab-ci.yml:
Cleanup:
stage: cleanup
script:
- type multiwerf && . $(multiwerf use 1.0 alpha --as-file)
- type werf && source <(werf ci-env gitlab --tagging-strategy tag-or-branch --verbose)
- source common_envs.sh
- docker login -u nobody -p ${WERF_IMAGES_CLEANUP_PASSWORD} ${WERF_IMAGES_REPO}
- werf cleanup --stages-storage :local
only:
refs:
- schedules
āĻāĻŽāϰāĻž āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāϰ āĻĒā§āϰāĻžāϝāĻŧ āϏāĻŦāĻā§āϞā§āĻ āĻāĻāĻā§ āĻŦā§āĻļāĻŋ āĻĻā§āĻā§āĻāĻŋ - āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻŋ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāĻā§ āĻĒā§āϰāĻĨāĻŽā§ āĻĄāĻāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋāϤ⧠āĻāĻŦāĻŋ āĻŽā§āĻā§ āĻĢā§āϞāĻžāϰ āĻ
āϧāĻŋāĻāĻžāϰ āĻāĻā§ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻā§āĻā§āύ āĻĻāĻŋāϝāĻŧā§ āĻĄāĻāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋāϤ⧠āϞāĻ āĻāύ āĻāϰāϤ⧠āĻšāĻŦā§ (āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻžāϰāĻŋ āĻāϰāĻž āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āϏāĻŋāĻāĻ āĻāĻžāϏā§āĻ āĻā§āĻā§āύ āĻāĻ āϧāϰāύā§āϰ āĻ
āϧāĻŋāĻāĻžāϰ āĻāĻā§)āĨ¤ āĻā§āĻā§āύāĻāĻŋ āĻ
āĻŦāĻļā§āϝāĻ āĻāĻŋāĻāϞā§āϝāĻžāĻŦā§ āĻāĻā§ āĻĨā§āĻā§āĻ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻāϰ āĻŽāĻžāύ āĻ
āĻŦāĻļā§āϝāĻ āĻāύāĻāĻžāϝāĻŧāϰāύāĻŽā§āύā§āĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ⧠āĻāϞā§āϞā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ WERF_IMAGES_CLEANUP_PASSWORD āĻĒā§āϰāĻāϞā§āĻĒā§āϰ (CI/CD āϏā§āĻāĻŋāĻāϏ -> āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ).
āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻŽāϝāĻŧāϏā§āĻā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒāϰāĻŋāώā§āĻāĻžāϰā§āϰ āĻāĻžāĻ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧ CI/CD ->
āϏā§āĻā§.
āĻāĻāĻŋāĻ: āĻĄāĻāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋāϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻāϞā§āĻĒ āĻāϰ āĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻāĻŋāϤā§āϰāĻā§āϞāĻŋ āĻĨā§āĻā§ āĻā§āϰāĻŽāĻžāĻāϤ āĻŦā§āĻĻā§āϧāĻŋ āĻĒāĻžāĻŦā§ āύāĻžāĨ¤
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻ āĻāĻļā§āϰ āĻļā§āώā§, āĻāĻŽāĻŋ āĻāĻĒāύāĻžāĻā§ āĻŽāύ⧠āĻāϰāĻŋāϝāĻŧā§ āĻĻāĻŋāĻā§āĻāĻŋ āϝ⧠āύāĻŋāĻŦāύā§āϧ āĻĨā§āĻā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϤāĻžāϞāĻŋāĻāĻž āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ :
- ;
- .
āĻĢāϞ
- āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āϝā§āĻā§āϤāĻŋāĻ āϏāĻŽāĻžāĻŦā§āĻļ āĻāĻžāĻ āĻžāĻŽā§ āĻĒā§āϝāĻŧā§āĻāĻŋ: āĻĒā§āϰāϤāĻŋ āϏāĻāϏā§āĻāϰāĻŖā§ āĻāĻāĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻāĨ¤
- āϏāĻŽāĻžāĻŦā§āĻļāĻāĻŋ āϏāϰā§āĻŦāĻāύā§āύ āĻāĻŦāĻ āϝāĻāύ werf āĻāϰ āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āĻšāϝāĻŧ āϤāĻāύ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞ āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ āύāĻž: āĻāϝāĻŧā§āĻŦāϏāĻžāĻāĻā§āϰ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻĒāĻĄā§āĻ āĻšāϝāĻŧāĨ¤
- āĻĻā§āĻāĻŋ āĻāĻŽā§āĻ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāύāĻā§āϝā§āϰ āĻāύā§āϝ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧ.
- āĻāĻāĻž āĻĻā§āϰā§āϤ āĻāĻžāĻ āĻāϰā§, āĻāĻžāϰāĻŖ āĻā§āϝāĻžāĻļāĻŋāĻ āϝāϤāĻāĻž āϏāĻŽā§āĻāĻŦ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ - āϝāĻāύ werf-āĻāϰ āĻāĻāĻāĻŋ āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āĻšāϝāĻŧ āĻŦāĻž āĻāĻāĻāĻŋ GitHub āĻšā§āĻ āĻāĻāĻāĻŋ āĻĒāϰā§āϝāĻžāϞā§āĻāύāĻž āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋāϰ āĻāύā§āϝ āĻŦāϞāĻž āĻšāϝāĻŧ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āϏāĻžāĻĨā§ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽāĻāĻŋ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
- āĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻāĻŋāϤā§āϰāĻā§āϞāĻŋ āĻŽā§āĻā§ āĻĢā§āϞāĻžāϰ āĻŦāĻŋāώāϝāĻŧā§ āĻāĻŋāύā§āϤāĻž āĻāϰāĻžāϰ āĻĻāϰāĻāĻžāϰ āύā§āĻ: āĻāϝāĻŧāĻžāϰā§āĻĢ āύā§āϤāĻŋ āĻ āύā§āϏāĻžāϰ⧠āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāϰāĻž āĻĄāĻāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋāĻā§ āĻ āĻŋāĻ āϰāĻžāĻāĻŦā§āĨ¤
āϤāĻĨā§āϝāĻ
- werf āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻŋāϰ āĻā§āϝāĻžāĻļāĻŋāĻ āĻāĻŦāĻ āĻāĻā§āϏāĻāĻžāϰā§āύāĻžāϞ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻā§āϝāĻžāĻļāĻŋāĻ āĻāĻāϝāĻŧā§āϰ āĻāĻžāϰāĻŖā§ āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻŋāĻā§ āĻĻā§āϰā§āϤ āĻāĻžāĻ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤
- āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻāĻŋāĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏāĻŽāϝāĻŧ āϏāĻŽāĻā§āϰ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻā§āϞā§āύ āĻāϰāĻžāϰ āĻŦāĻž āĻāϤā§āϰ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāύ āϞāĻāĻŋāĻ āĻĻāĻŋāϝāĻŧā§ āĻāĻžāĻāĻžāĻāĻŋāĻā§ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻĻā§āĻāĻžāĻŦāύā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž āĻĻā§āϰ āĻāϰā§āĨ¤ werf āĻāĻāĻāĻŋ āĻā§āϝāĻžāĻļā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŦāĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻŦāĻžāϰ āĻā§āϞā§āύāĻŋāĻ āĻāϰ⧠āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§
fetchāĻāĻŦāĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϝāĻāύ āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ - āĻŦāĻŋāϞā§āĻĄ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĢāĻžāĻāϞ⧠Go āĻā§āĻŽāĻĒā§āϞā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻž
werf.yamlāĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āϏāĻŽāĻžāĻŦā§āĻļ āĻŦāϰā§āĻŖāύāĻž āĻāϰāϤ⧠āĻĻā§āϝāĻŧ āϝāĻžāϰ āĻĢāϞāĻžāĻĢāϞ āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĄā§āĻāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤ - āĻŽāĻžāĻāύā§āĻ āĻāύ āĻāϝāĻŧāĻžāϰā§āĻĢ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽ āϏāĻāĻā§āϰāĻšā§āϰ āĻāϤāĻŋ āĻŦāĻžāĻĄāĻŧā§ - āĻā§āϝāĻžāĻļā§āϰ āĻāĻžāϰāĻŖā§, āϝāĻž āϏāĻŽāϏā§āϤ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ⧠āϏāĻžāϧāĻžāϰāĻŖāĨ¤
- werf āĻā§āϞāĻŋāύāĻāĻĒ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āϏāĻšāĻ āĻāϰā§, āϝāĻž āĻāϤāĻŋāĻļā§āϞāĻāĻžāĻŦā§ āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦāĻŋāĻļā§āώāĻāĻžāĻŦā§ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĨ¤
āĻĻā§āϰāώā§āĻāĻŦā§āϝ
āĻāĻŽāĻžāĻĻā§āϰ āĻŦā§āϞāĻā§āĻ āĻĒāĻĄāĻŧā§āύ:
- ÂĢ";
- ÂĢ";
- ÂĢ";
- ÂĢÂģ.
āĻāϤā§āϏ: www.habr.com
