āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

āĻāĻŸāĻŋ āĻ¸āĻŦāĻ‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ āĻŸāĻŋāĻŽā§‡āĻ° āĻŸāĻŋāĻŽ āĻ˛āĻŋāĻĄ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛ā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻž āĻ†āĻ—ā§‡āĻ° āĻĻāĻŋāĻ¨ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻŋ āĻāĻŸāĻž āĻĒā§‹āĻ¸ā§āĻŸ. āĻĒā§āĻ°āĻžāĻ¯āĻŧ 20 āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻĒāĻ°ā§‡, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ—ā§‡āĻ˛, āĻ•āĻžāĻ°āĻŖ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŦā§€āĻ•āĻ°āĻŖ. āĻ†āĻ°āĻ“ āĻ•āĻ¯āĻŧā§‡āĻ• āĻ˜āĻ¨ā§āĻŸāĻž āĻĒāĻ°ā§‡... āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•ā§€ āĻ˜āĻŸāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›ā§‡...

āĻ†āĻŽāĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ†āĻŽāĻŋ āĻŦā§‡āĻļ āĻ…āĻ˛āĻ¸ (āĻ†āĻŽāĻŋ āĻ•āĻŋ āĻāĻŸāĻž āĻ†āĻ—ā§‡ āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°āĻŋāĻ¨āĻŋ? āĻ¨āĻž?), āĻāĻŦāĻ‚ āĻāĻ‡ āĻ¸āĻ¤ā§āĻ¯ āĻ¯ā§‡ āĻĻāĻ˛ā§‡āĻ° āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦā§‡āĻ° āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ†āĻ‡/āĻ¸āĻŋāĻĄāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ†āĻŽāĻŋ āĻ­ā§‡āĻŦā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ: āĻ¤āĻžāĻ•ā§‡ āĻŽā§‹āĻ¤āĻžāĻ¯āĻŧā§‡āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯āĻ¤āĻŸāĻž āĻ¸ā§‡ āĻšāĻžāĻ¯āĻŧ! āĻ†āĻŽāĻžāĻ° āĻāĻ•āĻŸāĻž āĻ•ā§ŒāĻ¤ā§āĻ• āĻŽāĻ¨ā§‡ āĻĒāĻĄāĻŧāĻ˛: āĻāĻ•āĻœāĻ¨ āĻŽāĻžāĻ¨ā§āĻˇāĻ•ā§‡ āĻāĻ•āĻŸāĻž āĻŽāĻžāĻ› āĻĻāĻžāĻ“ āĻāĻŦāĻ‚ āĻ¸ā§‡ āĻāĻ•āĻĻāĻŋāĻ¨ āĻ–āĻžāĻŦā§‡; āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ•ā§‡ āĻĢā§‡āĻĄ āĻ•āĻ˛ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§‡ āĻ¸āĻžāĻ°āĻž āĻœā§€āĻŦāĻ¨ āĻ–āĻžāĻ“āĻ¯āĻŧāĻžāĻ¨ā§‹ āĻšāĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ—āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ•āĻžāĻœā§‡āĻ° āĻ•ā§ŒāĻļāĻ˛ āĻ–ā§‡āĻ˛ā§āĻ¨, āĻ¯āĻž āĻ•ā§āĻŦā§‡āĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻŦāĻ˛āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻ• āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻŽāĻžāĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡ ENV (āĻ†āĻŽāĻžāĻ° āĻĻāĻžāĻĻāĻž, āĻāĻ•āĻœāĻ¨ āĻĢāĻŋāĻ˛ā§‹āĻ˛āĻœāĻŋāĻ¸ā§āĻŸ, āĻ…āĻ¤ā§€āĻ¤ā§‡ āĻāĻ•āĻœāĻ¨ āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋ āĻļāĻŋāĻ•ā§āĻˇāĻ•, āĻāĻ–āĻ¨ āĻ¤āĻžāĻāĻ° āĻŽāĻ¨ā§āĻĻāĻŋāĻ°ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ†āĻ™ā§āĻ˛ āĻ˜ā§āĻ°āĻžāĻ¤ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻ‡ āĻŦāĻžāĻ•ā§āĻ¯āĻŸāĻŋ āĻĒāĻĄāĻŧāĻžāĻ° āĻĒāĻ°ā§‡ āĻ†āĻŽāĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ–ā§āĻŦ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻ•āĻžāĻ¤ā§‡āĻ¨)āĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻāĻ‡ āĻ¨ā§‹āĻŸā§‡ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻŋ āĻļāĻŋāĻ–ā§‡āĻ›āĻŋ:

  1. āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡ āĻšāĻžāĻ•āĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻšāĻžāĻ•āĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§āĻ¨;
  2. āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ (āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻļā§‡āĻ˛) āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨;
  3. Google Kubernetes āĻ‡āĻžā§āĻœāĻŋāĻ¨ā§‡ āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤


āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻ†āĻŽāĻŋ, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ…āĻ¸ā§ŽāĨ¤ āĻāĻŸāĻž āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ Google āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ…āĻ‚āĻļ āĻ†āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ GCP āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻ†āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻ¨ā§‹āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻž āĻ¨āĻ¯āĻŧāĨ¤

āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻŖāĻž āĻĒāĻ¤ā§āĻ°āĻ•. āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¨ā§‹āĻŸ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻžāĻ‡: āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻœāĻžāĻ¨āĻ¤āĻžāĻŽ āĻ¨āĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻŸāĻŋ āĻ°ā§‡āĻĄāĻŋāĻŽā§‡āĻĄ āĻ—ā§āĻ—āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ‚āĻļā§‡ āĻ—ā§āĻ—āĻ˛ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻāĻŦāĻ‚ āĻ¯āĻžāĻ¤ā§‡ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡, āĻ†āĻŽāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¤āĻž āĻ­ā§āĻ˛ā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻ†āĻŽāĻžāĻ•ā§‡ āĻ†āĻŦāĻžāĻ° āĻŸā§āĻ•āĻ°ā§‹ āĻŸā§āĻ•āĻ°ā§‹ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ—ā§āĻ—āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž, āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻŖāĻžāĻ° āĻļā§€āĻŸ āĻ˛āĻŋāĻ–āĻŋāĨ¤

āĻĻāĻžāĻŦāĻŋ āĻĒāĻ°āĻŋāĻ¤ā§āĻ¯āĻžāĻ—ā§€: 1. āĻ¨ā§‹āĻŸāĻŸāĻŋ "āĻ¨āĻŋāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯", āĻ­ā§‚āĻŽāĻŋāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ­āĻžāĻ˛ āĻ…āĻ­ā§āĻ¯āĻžāĻ¸ āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯ āĻ¨āĻ¯āĻŧ. āĻ†āĻŽāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ "āĻāĻŸāĻŋ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻž āĻ­āĻžāĻ˛ āĻšāĻ¤" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻĒāĻĄāĻŧā§‡ āĻ–ā§āĻļāĻŋāĨ¤
2. āĻ¯āĻĻāĻŋ āĻ¨ā§‹āĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—āĻ•ā§ƒāĻ¤ āĻ…āĻ‚āĻļāĻŸāĻŋāĻ•ā§‡ āĻ˛āĻŦāĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡, āĻ†āĻŽāĻžāĻ° āĻ†āĻ—ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‹āĻŸā§‡āĻ° āĻŽāĻ¤ā§‹, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻ˛āĻŦāĻŖā§‡āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĨ¤

āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœā§‡āĻ° āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻĒā§‚āĻ°ā§āĻŦāĻžāĻ­āĻžāĻ¸: āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻ•āĻžāĻœ āĻ†āĻĒāĻĄā§‡āĻŸ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡? āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻžāĻ¨!

āĻ†āĻŽāĻŋ āĻ‰āĻ¤ā§āĻ¤āĻ°: āĻ†āĻŽāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ…āĻ˛āĻ¸, āĻ¤āĻžāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻŋ āĻāĻŸāĻž āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻŋ āĻ¨āĻž: āĻŽāĻŋāĻļāĻž, āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻŦāĻŋāĻĒāĻ°ā§āĻ¯āĻ¸ā§āĻ¤ āĻšāĻšā§āĻ›ā§‡, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻšāĻ˛ā§‡ āĻ—ā§‡āĻ›ā§‡! āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ¨, āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻŸāĻžāĻ¸ā§āĻ• āĻ˛āĻžā§āĻš āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡āĻĒā§‹ āĻ†āĻ›ā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻŋ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨āĻŸāĻŋ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻŋāĨ¤

āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻžāĻŸāĻŋ āĻšāĻ˛: āĻ†āĻŽāĻ°āĻž āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡, āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ ENV, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŸāĻŋ āĻ§āĻžāĻ°āĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ§āĻžāĻ°āĻ• āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻ ā§‡āĻ˛ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻ•āĻŋāĻ‰āĻŦāĻžāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒ āĻ•āĻžāĻœā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¸āĻšāĨ¤

āĻ†āĻŽāĻ°āĻž āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡ āĻšāĻžāĻ•āĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ¨āĻž, āĻāĻŸāĻŋ āĻ…āĻĢ-āĻŸāĻĒāĻŋāĻ•āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻŦ āĻ¯ā§‡ āĻŸāĻžāĻ¸ā§āĻ• āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨: āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ‰āĻ¤ā§āĻ¸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¯āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻŦā§ˆāĻ§ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻĒāĻ›āĻ¨ā§āĻĻ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻŸāĻžāĻ¸ā§āĻ•ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻšāĻ˛āĻ•ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ• BUILD_VERSION, āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ¸ āĻ•āĻ°āĻŦ āĻ¨āĻž. āĻ¤āĻŦā§‡ āĻāĻ° āĻ‰āĻ¤ā§āĻ¸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻ˜āĻ¨āĻŋāĻˇā§āĻ āĻ­āĻžāĻŦā§‡ āĻĻā§‡āĻ–ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•āĨ¤

āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¨ā§‡āĻ‡. āĻĻā§āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻŽāĻ¨ā§‡ āĻāĻ˛:

  • āĻ°āĻŋāĻŽā§‹āĻŸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ¯āĻž āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ āĻ¤āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡;
  • āĻ°āĻŋāĻŽā§‹āĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°ā§āĻ¨ (āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ JFrog āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ, āĻ¯āĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧ)āĨ¤

āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ āĻ°āĻŋāĻŽā§‹āĻŸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ API

āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ āĻšāĻŽā§ŽāĻ•āĻžāĻ° āĻāĻ¤āĻŋāĻšā§āĻ¯ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, āĻ†āĻŽāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻŦāĨ¤
āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻ…āĻ¨ā§āĻšā§āĻ›ā§‡āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ…āĻ¨ā§āĻŦāĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦ API āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§ƒāĻˇā§āĻ āĻž:

Jenkins āĻāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŽā§‡āĻļāĻŋāĻ¨-āĻĒāĻžāĻ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ <â€Ļ> āĻ°āĻŋāĻŽā§‹āĻŸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻāĻ•āĻŸāĻŋ REST-āĻāĻ° āĻŽāĻ¤ā§‹ āĻļā§ˆāĻ˛ā§€āĻ¤ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻāĻ•āĻ• āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¨ā§‡āĻ‡, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ URL āĻ¯ā§‡āĻŽāĻ¨ ".../āĻāĻĒāĻŋāĻ†āĻ‡/", āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ "..." āĻŽāĻžāĻ¨ā§‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ API āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¯ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋāĻ° āĻ•āĻĨāĻž āĻŦāĻ˛āĻ›āĻŋ āĻ¤āĻž āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_build, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ‡ āĻŸāĻžāĻ¸ā§āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ API whistles āĻ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_build/api/

āĻāĻ°āĻĒāĻ°ā§‡, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ†āĻ›ā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ XML-āĻ āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻŋ, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ API āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻšāĻ˛ā§āĻ¨ āĻļā§āĻ§ā§ āĻ¸āĻŦ āĻ•āĻžāĻœā§‡āĻ° āĻ°āĻžāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•. āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻ¨āĻžāĻŽā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ (āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ¨āĻžāĻŽ) āĻāĻŦāĻ‚ āĻāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ (āĻĢāĻ˛):

http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_build/api/xml?tree=allBuilds[displayName,result]

āĻāĻŸāĻž āĻ•āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡?

āĻāĻ–āĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻ°āĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯āĻž āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧ SUCCESS āĻŸāĻŋ. āĻāĻ° āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ• &āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¨ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ā§‡āĻ° āĻĒāĻžāĻĨ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŦ āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ¨ āĻ¨āĻ¯āĻŧ SUCCESS āĻŸāĻŋ. āĻšā§āĻ¯āĻž āĻšā§āĻ¯āĻž. āĻāĻ•āĻŸāĻŋ āĻĄāĻŦāĻ˛ āĻ¨ā§‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ. āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ—ā§āĻ°āĻšā§€ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ‡:

http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_build/api/xml?tree=allBuilds[displayName,result]&exclude=freeStyleProject/allBuild[result!='SUCCESS']

āĻ¸āĻĢāĻ˛āĻĻā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻœāĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ¸ā§āĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ¨āĻŋ (āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ•āĻ–āĻ¨āĻ‡ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻŦāĻ˛ā§‡ āĻ¨āĻž!) āĻāĻŦāĻ‚ "āĻ…āĻ¸āĻĢāĻ˛"āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§āĻ¨:

http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_build/api/xml?tree=allBuilds[displayName,result]&exclude=freeStyleProject/allBuild[result='SUCCESS']

āĻ…-āĻ¸āĻĢāĻ˛āĻĻā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž

āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡. āĻ†āĻŽāĻŋ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ API āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻŋāĨ¤ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ•āĻžāĻ°āĻŖ āĻ¯āĻĻāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻāĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¯ā§‡āĻŽāĻ¨, āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻšāĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœāĨ¤ āĻ˛āĻžāĻ‡āĻ• āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ†āĻ¸ā§āĻ¨ āĻ¤āĻžāĻ•ā§‡ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻŋ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ˛, āĻ—ā§āĻ°ā§‡āĻĒ āĻāĻŦāĻ‚ awk āĻ•āĻ°āĻŦāĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻ“āĻ¯āĻŧāĻžāĻ¨āĻ˛āĻžāĻ‡āĻ¨āĻžāĻ°ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸ā§āĻĒāĻ¯āĻŧāĻ˛āĻžāĻ°ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ• āĻ˛āĻžāĻ‡āĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ
āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻĻā§āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨: āĻ†āĻŽāĻŋ āĻšā§‡āĻĄāĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡, āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ• āĻŽāĻžāĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°ā§āĻ¨:

curl -H "X-JFrog-Art-Api:VeryLongAPIKey" -s http://arts.myre.po/artifactory/awesomeapp/ | sed 's/a href=//' | grep "$(date +%b)-$(date +%Y)|$(date +%b --date='-1 month')-$(date +%Y)" | awk '{print $1}' | grep -oP '>K[^/]+' )

āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡ āĻ•āĻžāĻœ āĻāĻŦāĻ‚ āĻ•āĻžāĻœā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ†āĻŽāĻ°āĻž āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ‰ā§ŽāĻ¸ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻāĻ–āĻ¨ āĻ•āĻžāĻœā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•. āĻ†āĻŽāĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ›āĻŋāĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŸāĻžāĻ¸ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻĒ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĨ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ "āĻ¸āĻĢāĻ˛" āĻšāĻ˛ā§‡ āĻ¯ā§‡ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻŸāĻžāĻ¸ā§āĻ• āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ–ā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ‚ āĻ–ā§āĻŦ āĻ¨ā§€āĻšā§‡ āĻ¸ā§āĻ•ā§āĻ°ā§‹āĻ˛ āĻ•āĻ°ā§āĻ¨. āĻŦā§‹āĻ¤āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨: āĻŦāĻŋāĻ˛ā§āĻĄ āĻ§āĻžāĻĒ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ -> āĻļāĻ°ā§āĻ¤āĻžāĻ§ā§€āĻ¨ āĻ§āĻžāĻĒ (āĻāĻ•āĻ•). āĻ§āĻžāĻĒ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ā§‡, āĻļāĻ°ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸, āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ SUCCESS āĻŸāĻŋ, āĻ¸āĻĢāĻ˛ āĻšāĻ˛ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļā§‡āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨.

āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻŽāĻœāĻžāĻ° āĻ…āĻ‚āĻļāĨ¤ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•āĻžāĻœā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡āĨ¤ XML āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡āĨ¤ āĻ āĻĒāĻĨ āĻ§āĻ°ā§‡ http://ĐŋŅƒŅ‚ŅŒ-Đ´Đž-СадаĐŊиŅ/config.xml āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨ āĻ¸ā§‡āĻŸāĻŋāĻ•ā§‡ āĻ†āĻŦāĻžāĻ° āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨, āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‡ āĻ¸āĻŽā§āĻŽāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ BUILD_VERSION?

āĻ†āĻ¸ā§āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻāĻ•āĻŦāĻžāĻ° āĻĻā§‡āĻ–ā§āĻ¨āĨ¤ āĻļā§āĻ§ā§ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ°āĨ¤

āĻ¸ā§āĻĒāĻ¯āĻŧāĻ˛āĻžāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ.

āĻ†āĻĒāĻ¨āĻžāĻ° config.xml āĻ–āĻŖā§āĻĄāĻŸāĻŋ āĻāĻ•āĻ‡ āĻ°āĻ•āĻŽ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻŦāĻžāĻĻā§‡ āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ–āĻ¨āĻ“ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

āĻ¤ā§āĻŽāĻŋ āĻ•āĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤? āĻāĻŸāĻŋāĻ‡, āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻŋāĻ–āĻŋ āĻ¯āĻž āĻŦāĻŋāĻ˛ā§āĻĄāĻŸāĻŋ āĻ¸āĻĢāĻ˛ āĻšāĻ˛ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤
āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒāĻžāĻŦā§‡, āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻŦā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ˛āĻŋāĻ–āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻŦā§‡āĨ¤ āĻšā§āĻ¯āĻžāĻ. āĻ¸ā§‡āĻŸāĻž āĻ āĻŋāĻ•. XML-āĻ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ˛āĻŋāĻ–ā§āĻ¨ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžā§āĻšā§‡āĻ° āĻĒāĻ°ā§‡)āĨ¤ āĻ†āĻŽāĻŋ āĻœāĻžāĻ¨āĻŋ āĻĒā§ƒāĻĨāĻŋāĻŦā§€āĻ¤ā§‡ āĻāĻ–āĻ¨ā§‹ āĻ°ā§‡āĻ—ā§āĻ˛āĻžāĻ° āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ‰āĻ—ā§āĻ° āĻ­āĻ•ā§āĻ¤ āĻ†āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ‡āĨ¤ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ xmlstarler āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻž āĻ†āĻŽāĻžāĻ° āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ āĻ¯ā§‡ sed ​​āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ XML āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻāĻ¤ āĻŦāĻĄāĻŧ āĻŽā§‚āĻ˛ā§āĻ¯ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ¸ā§āĻĒāĻ¯āĻŧāĻ˛āĻžāĻ°ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡, āĻ†āĻŽāĻŋ āĻ¸ā§‡āĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻŋ āĻ¯āĻž āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ˛āĻŋāĻ–ā§āĻ¨

#!/bin/bash
############## ĐĄĐēĐ°Ņ‡Đ¸Đ˛Đ°ĐĩĐŧ ĐēĐžĐŊŅ„иĐŗ
curl -X GET -u username:apiKey http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_k8s/config.xml -o appConfig.xml

############## ĐŖĐ´Đ°ĐģŅĐĩĐŧ и СаĐŊОвО ŅĐžĐˇĐ´Đ°ĐĩĐŧ xml-ŅĐģĐĩĐŧĐĩĐŊŅ‚ Đ´ĐģŅ ŅĐŋиŅĐēĐ° вĐĩŅ€ŅĐ¸Đš
xmlstarlet ed --inplace -d '/project/properties/hudson.model.ParametersDefinitionProperty/parameterDefinitions/hudson.model.ChoiceParameterDefinition[name="BUILD_VERSION"]/choices[@class="java.util.Arrays$ArrayList"]/a[@class="string-array"]' appConfig.xml

xmlstarlet ed --inplace --subnode '/project/properties/hudson.model.ParametersDefinitionProperty/parameterDefinitions/hudson.model.ChoiceParameterDefinition[name="BUILD_VERSION"]/choices[@class="java.util.Arrays$ArrayList"]' --type elem -n a appConfig.xml

xmlstarlet ed --inplace --insert '/project/properties/hudson.model.ParametersDefinitionProperty/parameterDefinitions/hudson.model.ChoiceParameterDefinition[name="BUILD_VERSION"]/choices[@class="java.util.Arrays$ArrayList"]/a' --type attr -n class -v string-array appConfig.xml

############## ЧиŅ‚Đ°ĐĩĐŧ в ĐŧĐ°ŅŅĐ¸Đ˛ ŅĐŋиŅĐžĐē вĐĩŅ€ŅĐ¸Đš иС Ņ€ĐĩĐŋОСиŅ‚ĐžŅ€Đ¸Ņ
readarray -t vers < <( curl -H "X-JFrog-Art-Api:Api:VeryLongAPIKey" -s http://arts.myre.po/artifactory/awesomeapp/ | sed 's/a href=//' | grep "$(date +%b)-$(date +%Y)|$(date +%b --date='-1 month')-$(date +%Y)" | awk '{print $1}' | grep -oP '>K[^/]+' )

############## ПиŅˆĐĩĐŧ ĐŧĐ°ŅŅĐ¸Đ˛ ŅĐģĐĩĐŧĐĩĐŊŅ‚ Са ŅĐģĐĩĐŧĐĩĐŊŅ‚ĐžĐŧ в ĐēĐžĐŊŅ„иĐŗ
printf '%sn' "${vers[@]}" | sort -r | 
                while IFS= read -r line
                do
                    xmlstarlet ed --inplace --subnode '/project/properties/hudson.model.ParametersDefinitionProperty/parameterDefinitions/hudson.model.ChoiceParameterDefinition[name="BUILD_VERSION"]/choices[@class="java.util.Arrays$ArrayList"]/a[@class="string-array"]' --type elem -n string -v "$line" appConfig.xml
                done

############## КĐģĐ°Đ´ĐĩĐŧ ĐēĐžĐŊŅ„иĐŗ вСад
curl -X POST -u username:apiKey http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_k8s/config.xml --data-binary @appConfig.xml

############## ПŅ€Đ¸Đ˛ĐžĐ´Đ¸Đŧ Ņ€Đ°ĐąĐžŅ‡ĐĩĐĩ ĐŧĐĩŅŅ‚Đž в ĐŋĐžŅ€ŅĐ´ĐžĐē
rm -f appConfig.xml

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻŽāĻžāĻ° āĻŽāĻ¤ā§‹ āĻ…āĻ˛āĻ¸ āĻšāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§āĻĒāĻ¯āĻŧāĻ˛āĻžāĻ°ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻāĻ•āĻ‡ āĻ•ā§‹āĻĄ, āĻ¤āĻŦā§‡ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž:

āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ˛āĻŋāĻ–ā§āĻ¨
āĻļā§āĻ§ā§ āĻāĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨: āĻ†āĻŽāĻžāĻ° āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤, āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻ˛āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, awk āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ…āĻ‚āĻļ āĻ•ā§‡āĻŸā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¨āĻŋāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤

#!/bin/bash
############## ĐĄĐēĐ°Ņ‡Đ¸Đ˛Đ°ĐĩĐŧ ĐēĐžĐŊŅ„иĐŗ
curl -X GET -u username:apiKey http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_k8s/config.xml -o appConfig.xml

############## ĐŖĐ´Đ°ĐģŅĐĩĐŧ и СаĐŊОвО ŅĐžĐˇĐ´Đ°ĐĩĐŧ xml-ŅĐģĐĩĐŧĐĩĐŊŅ‚ Đ´ĐģŅ ŅĐŋиŅĐēĐ° вĐĩŅ€ŅĐ¸Đš
xmlstarlet ed --inplace -d '/project/properties/hudson.model.ParametersDefinitionProperty/parameterDefinitions/hudson.model.ChoiceParameterDefinition[name="BUILD_VERSION"]/choices[@class="java.util.Arrays$ArrayList"]/a[@class="string-array"]' appConfig.xml

xmlstarlet ed --inplace --subnode '/project/properties/hudson.model.ParametersDefinitionProperty/parameterDefinitions/hudson.model.ChoiceParameterDefinition[name="BUILD_VERSION"]/choices[@class="java.util.Arrays$ArrayList"]' --type elem -n a appConfig.xml

xmlstarlet ed --inplace --insert '/project/properties/hudson.model.ParametersDefinitionProperty/parameterDefinitions/hudson.model.ChoiceParameterDefinition[name="BUILD_VERSION"]/choices[@class="java.util.Arrays$ArrayList"]/a' --type attr -n class -v string-array appConfig.xml

############## ПиŅˆĐĩĐŧ в Ņ„Đ°ĐšĐģ ŅĐŋиŅĐžĐē вĐĩŅ€ŅĐ¸Đš иС Jenkins
curl -g -X GET -u username:apiKey 'http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_build/api/xml?tree=allBuilds[displayName,result]&exclude=freeStyleProject/allBuild[result!=%22SUCCESS%22]&pretty=true' -o builds.xml

############## ЧиŅ‚Đ°ĐĩĐŧ в ĐŧĐ°ŅŅĐ¸Đ˛ ŅĐŋиŅĐžĐē вĐĩŅ€ŅĐ¸Đš иС XML
readarray vers < <(xmlstarlet sel -t -v "freeStyleProject/allBuild/displayName" builds.xml | awk -F":" '{print $2}')

############## ПиŅˆĐĩĐŧ ĐŧĐ°ŅŅĐ¸Đ˛ ŅĐģĐĩĐŧĐĩĐŊŅ‚ Са ŅĐģĐĩĐŧĐĩĐŊŅ‚ĐžĐŧ в ĐēĐžĐŊŅ„иĐŗ
printf '%sn' "${vers[@]}" | sort -r | 
                while IFS= read -r line
                do
                    xmlstarlet ed --inplace --subnode '/project/properties/hudson.model.ParametersDefinitionProperty/parameterDefinitions/hudson.model.ChoiceParameterDefinition[name="BUILD_VERSION"]/choices[@class="java.util.Arrays$ArrayList"]/a[@class="string-array"]' --type elem -n string -v "$line" appConfig.xml
                done

############## КĐģĐ°Đ´ĐĩĐŧ ĐēĐžĐŊŅ„иĐŗ вСад
curl -X POST -u username:apiKey http://jenkins.mybuild.er/view/AweSomeApp/job/AweSomeApp_k8s/config.xml --data-binary @appConfig.xml

############## ПŅ€Đ¸Đ˛ĐžĐ´Đ¸Đŧ Ņ€Đ°ĐąĐžŅ‡ĐĩĐĩ ĐŧĐĩŅŅ‚Đž в ĐŋĐžŅ€ŅĐ´ĐžĐē
rm -f appConfig.xml

āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĄā§āĻ°āĻĒ-āĻĄāĻžāĻ‰āĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋ āĻ¸ā§āĻĒāĻ¯āĻŧāĻ˛āĻžāĻ°ā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸā§‡āĻ° āĻŽāĻ¤ā§‹āĨ¤

āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

āĻ¯āĻĻāĻŋ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ•āĻĒāĻŋ-āĻĒā§‡āĻ¸ā§āĻŸ āĻ•āĻ°ā§āĻ¨ āĻļā§‡āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻļā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻ†āĻ›ā§‡. āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻŸā§āĻ˛ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ Ansible āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ¯āĻ–āĻ¨ āĻ•āĻ¨āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻ•āĻĨāĻž āĻ†āĻ¸ā§‡, āĻ¤āĻ–āĻ¨ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŽāĻžāĻĨāĻžāĻ¯āĻŧ āĻ†āĻ¸ā§‡: āĻĄāĻ•āĻžāĻ°ā§‡ āĻĄāĻ•āĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨, āĻ…ā§āĻ¯āĻžāĻ¨āĻ¸āĻŋāĻŦāĻ˛ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻĄāĻ•āĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ āĻŦāĻž āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¨ā§€āĻ°āĻŦ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻ°āĻžāĻœāĻŋ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻŽāĻ¨ā§‡ āĻ†āĻ›ā§‡?

āĻ†āĻŽāĻŋ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ: āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ "āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡" āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§‡āĻ¨ āĻŦāĻŋāĻ°āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨? āĻāĻŸāĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ°āĻžāĻ–ā§āĻ¨, āĻ¤āĻžāĻ‡ āĻ¨āĻž? āĻ†āĻŽāĻŋ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋāĻ‰āĻŦāĻžāĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, Google āĻāĻ° āĻĒāĻ°āĻŋāĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ–ā§āĻŦ āĻ¸āĻŽā§ƒāĻĻā§āĻ§ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ—āĻ¤āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ•āĻžāĻ°ā§€ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĢā§‡āĻ˛āĻŦā§‡āĨ¤

āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻā§āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨: āĻœāĻŋāĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻ—ā§āĻ—āĻ˛ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻāĻĒāĻŋāĻ†āĻ‡ VM āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ‡ āĻāĻ•āĻ‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ¯āĻžāĻ°āĻž āĻ—ā§āĻ—āĻ˛ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯
Google āĻ¤āĻžāĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧā§ˇ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻĢāĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡āĻ“ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡, āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ *nix āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻĨāĻžāĻ•ā§‡āĨ¤

āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ¨ā§‹āĻŸā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻŽāĻžāĻ° āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻā§‡ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ­ā§‹āĻŸ āĻĒāĻžāĻ‡, āĻ†āĻŽāĻŋ āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ˛āĻŋāĻ–āĻŦāĨ¤

āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤

  1. VM āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻŦā§‡āĻ¨āĨ¤
  2. āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻŦāĻŋāĻļāĻĻ āĻ–ā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž.
  3. āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻ¨ā§€āĻšā§‡, āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¸ā§āĻ•ā§‹āĻĒ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ API-āĻ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸.

    āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ
    āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

  4. āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻ•āĻŦāĻžāĻ° VM āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻļā§‡āĻˇ āĻšāĻ˛ā§‡, SSH āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ—āĻŸāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ˜āĻŸā§‡āĨ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨:

gcloud alpha cloud-shell ssh

āĻāĻ•āĻŸāĻŋ āĻ¸āĻĢāĻ˛ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻāĻ‡ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

GKE āĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž IaC (āĻ•ā§‹āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻ•āĻžāĻ āĻžāĻŽā§‹) āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄāĻ•āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ—āĻŋāĻŸ-āĻ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻž āĻāĻ•āĻĻāĻŋāĻ•ā§‡āĨ¤ āĻāĻŦāĻ‚ kubernetes āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ yaml āĻĢāĻžāĻ‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻŸāĻžāĻ¸ā§āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ¨āĻŋāĻœā§‡āĻ“ āĻ•ā§‹āĻĄā§‡āĻ° āĻŽāĻ¤āĨ¤ āĻāĻŸāĻž āĻ“āĻĒāĻžāĻ° āĻĨā§‡āĻ•ā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋ, āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻžāĻŸāĻŋ āĻšāĻ˛:

  1. āĻ†āĻŽāĻ°āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ‡ BUILD_VERSION āĻāĻŦāĻ‚, āĻāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¯āĻž āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡ ENV.
  2. āĻ—āĻŋāĻŸ āĻĨā§‡āĻ•ā§‡ āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨āĨ¤
  3. āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ yaml āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
  4. āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛āĻ‡ scp āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ•āĻ°āĻŋāĨ¤
  5. āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻļ āĻ•āĻ°āĻŋ
  6. āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ‰āĻŦāĻžāĻ°ā§‡ āĻ˛ā§‹āĻĄ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŋāĨ¤

āĻāĻ° āĻ†āĻ°ā§‹ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•. āĻāĻ•āĻŦāĻžāĻ° āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻž āĻļā§āĻ°ā§ ENV, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ§āĻ°ā§āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡: PARAM1 и PARAM2. āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻŸāĻžāĻ¸ā§āĻ• āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŋ, āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻŋ - āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°.

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒā§āĻ¨āĻƒāĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ¸āĻš yaml āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻ§ā§āĻŦāĻ¨āĻŋ āĻ¨āĻĨāĻŋāĻ¤ā§‡. āĻāĻŸāĻž āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ†āĻ›ā§‡ PARAM1 и PARAM2āĻ¯ā§‡ āĻ˛ā§‹āĻĄ āĻ¨āĻžāĻŽ āĻšāĻŦā§‡ awesomeapp, āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋ āĻ āĻĒāĻĨ āĻ§āĻ°ā§‡ gcr.io/awesomeapp/awesomeapp-$BUILD_VERSIONāĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ $BUILD_VERSION āĻļā§āĻ§ā§ āĻĄā§āĻ°āĻĒ-āĻĄāĻžāĻ‰āĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĻāĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž

touch deploy.yaml
echo "apiVersion: apps/v1" >> deploy.yaml
echo "kind: Deployment" >> deploy.yaml
echo "metadata:" >> deploy.yaml
echo "  name: awesomeapp" >> deploy.yaml
echo "spec:" >> deploy.yaml
echo "  replicas: 1" >> deploy.yaml
echo "  selector:" >> deploy.yaml
echo "    matchLabels:" >> deploy.yaml
echo "      run: awesomeapp" >> deploy.yaml
echo "  template:" >> deploy.yaml
echo "    metadata:" >> deploy.yaml
echo "      labels:" >> deploy.yaml
echo "        run: awesomeapp" >> deploy.yaml
echo "    spec:" >> deploy.yaml
echo "      containers:" >> deploy.yaml
echo "      - name: awesomeapp" >> deploy.yaml
echo "        image: gcr.io/awesomeapp/awesomeapp-$BUILD_VERSION:latest" >> deploy.yaml
echo "        env:" >> deploy.yaml
echo "        - name: PARAM1" >> deploy.yaml
echo "          value: $PARAM1" >> deploy.yaml
echo "        - name: PARAM2" >> deploy.yaml
echo "          value: $PARAM2" >> deploy.yaml

āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻ° āĻœāĻŋāĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ†āĻ˛āĻĢāĻž āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ-āĻļā§‡āĻ˛ āĻāĻ¸āĻāĻ¸āĻāĻ‡āĻš āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­ āĻŽā§‹āĻĄ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ āĻžāĻ‡ --āĻ†āĻĻā§‡āĻļ.

āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻšā§‹āĻŽ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻŋ:

gcloud alpha cloud-shell ssh --command="rm -f Dockerfile"

scp āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡āĻ° āĻšā§‹āĻŽ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ¸āĻĻā§āĻ¯ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ°āĻžāĻ–ā§āĻ¨:

gcloud alpha cloud-shell scp localhost:./Dockerfile cloudshell:~

āĻ†āĻŽāĻ°āĻž āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻŋ, āĻŸā§āĻ¯āĻžāĻ— āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻļ āĻ•āĻ°āĻŋ:

gcloud alpha cloud-shell ssh --command="docker build -t awesomeapp-$BUILD_VERSION ./ --build-arg BUILD_VERSION=$BUILD_VERSION --no-cache"
gcloud alpha cloud-shell ssh --command="docker tag awesomeapp-$BUILD_VERSION gcr.io/awesomeapp/awesomeapp-$BUILD_VERSION"
gcloud alpha cloud-shell ssh --command="docker push gcr.io/awesomeapp/awesomeapp-$BUILD_VERSION"

āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋāĨ¤ āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ¨ā§€āĻšā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ˛ā§āĻĒāĻ¨āĻŋāĻ• āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻŸāĻŋ āĻ˜āĻŸā§‡ (awsm- āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°) āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¨āĻžāĻŽ (āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤-āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ), āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤

gcloud alpha cloud-shell ssh --command="rm -f deploy.yaml"
gcloud alpha cloud-shell scp localhost:./deploy.yaml cloudshell:~
gcloud alpha cloud-shell ssh --command="gcloud container clusters get-credentials awsm-cluster --zone us-central1-c --project awesome-project && 
kubectl apply -f deploy.yaml"

āĻ†āĻŽāĻ°āĻž āĻŸāĻžāĻ¸ā§āĻ•āĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ‡, āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ–ā§āĻ˛āĻŋ āĻāĻŦāĻ‚ āĻ§āĻžāĻ°āĻ•āĻŸāĻŋāĻ° āĻ¸āĻĢāĻ˛ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ†āĻļāĻž āĻ•āĻ°āĻŋāĨ¤

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻĒāĻžāĻ¤ā§āĻ°ā§‡āĻ° āĻ¸āĻĢāĻ˛ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ GKE-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸ā§‡āĻ° āĻœā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ‰āĻāĻ•āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•

āĻ†āĻŽāĻŋ āĻ‡āĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻĒā§āĻ°āĻŦā§‡āĻļ. āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻžāĻ°āĻŖā§‡: āĻāĻ•āĻŦāĻžāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°ā§āĻ¨ āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻĨāĻžāĻ•āĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ¤āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨ āĻ¨āĻž āĻ•ā§‡āĻ¨āĨ¤ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻšāĻžāĻ¸ā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĨ¤

āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻœā§‡āĻ¨āĻ•āĻŋāĻ¨ā§āĻ¸, āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻŋāĻ‰āĻ˛āĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻ°āĻŖā§‡ āĻ†āĻŽāĻŋ āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻŋ āĻ¨āĻžāĨ¤ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻšāĻ¤āĻžāĻļāĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ•āĻ°āĻŋāĨ¤

āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§ āĻ†āĻŽāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡. āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒāĻžāĻ ā§āĻ¯āĻŸāĻŋ āĻļā§āĻ°ā§āĻ¤ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻŋ āĻ¯ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¤āĻž āĻ­āĻžāĻ— āĻ•āĻ°ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧāĻ“āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°ā§āĻ¨, āĻ¯āĻžāĻ°āĻž āĻ¤āĻžāĻ° āĻŽāĻ¤ā§‹, āĻĄā§‡āĻ­āĻĒāĻ¸ā§‡ āĻŽā§‹āĻŸā§‡āĻ“ āĻ­āĻ¯āĻŧāĻžāĻ¨āĻ• āĻ¨ā§‡āĻ•āĻĄāĻŧā§‡ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻ° āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ•āĻžāĻ‰āĻ•ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡ āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻ–ā§āĻļāĻŋ āĻšāĻŦāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨