āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨
āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ—ā§‡āĻ¸ā§āĻŸ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻŸā§āĻ˛āĻ¸ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧā§‡āĻŸāĻ° āĻ•āĻŋāĻ­āĻžāĻŦā§‡ GitLab CI/CD āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻĄāĻŋāĻĒā§āĻ˛ā§‹āĻ¯āĻŧāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛ā§‡āĻ¨āĨ¤

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

āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ¸ā§āĻŸā§‡āĻœāĻŋāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ˛āĻĄāĻŧāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ–āĻŋāĨ¤

āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻŦāĻž āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻĻā§‡āĻ° āĻ¨ā§‹āĻŸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ URL āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ–ā§āĻŦāĻ‡ āĻ†āĻ¨āĻ¨ā§āĻĻā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ: "āĻāĻ–āĻžāĻ¨ā§‡ āĻĻā§‡āĻ–ā§āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻ¨āĻ“ āĻāĻ–āĻžāĻ¨ā§‡ āĻĻā§‡āĻ–āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤"

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

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻŦāĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° (CI/CD) āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¨ā§‡āĻ‡āĨ¤ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ•ā§‡ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

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

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

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

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

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

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

āĻ­ā§‚āĻŽāĻŋāĻ•āĻž

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

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

āĻ…āĻ¸ā§āĻ¤ā§āĻ°ā§‹āĻĒāĻšāĻžāĻ°, āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°ā§‹ āĻ–ā§‹āĻāĻœ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§āĻŽāĻĒā§āĻ°āĻŦāĻžāĻš āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŽā§‹ āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ‡āĻ¨ āĻ†āĻĒ āĻ•āĻ°ā§āĻ¨ pantheon.io āĻ

āĻ…āĻ¨ā§āĻŽāĻžāĻ¨

āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻāĻŦāĻ‚ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ pantheon-gitlab-blog-demo. āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¨āĻžāĻŽ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ¸āĻžāĻ‡āĻŸ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦāĨ¤ āĻ†āĻĒāĻ¨āĻŋ Drupal āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ†āĻŽāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ—āĻŋāĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•āĻžāĻ˛ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸, āĻ¯āĻĻāĻŋ āĻ¤ā§āĻŽāĻŋ āĻšāĻžāĻ“.

āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ (āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĒāĻ°ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŦ)āĨ¤

āĻāĻ–āĻ¨ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž. āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻĄā§āĻ¯āĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻŋāĨ¤

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

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

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ

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

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

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

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

āĻāĻ–āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• git remote origināĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻŸāĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ ĐēĐžĐŧĐ°ĐŊдОК git remote.

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

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ git remote āĻ•ā§‹āĻĄ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ - origin. āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ— git remote set-url origin [URL Ņ€ĐĩĐŋОСиŅ‚ĐžŅ€Đ¸Ņ GitLab], āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ URL āĻ˛āĻŋāĻ–āĻŋāĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ git push origin master --forceāĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ•ā§‹āĻĄ āĻĒā§āĻļ āĻ•āĻ°āĻ¤ā§‡āĨ¤

-āĻĢā§‹āĻ°ā§āĻ¸ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŦāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĻāĻ˛ā§‡ āĻĻāĻ˛ā§‡ git push āĻāĻŸāĻŋ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻžāĨ¤

āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻāĻŦāĻ‚ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻāĻŦāĻ‚ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻ˛āĻ— āĻ‡āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ SSH āĻ•ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ? SSH āĻŸā§‹āĻ•ā§‡āĻ¨ GitLab āĻāĻŦāĻ‚ Pantheon āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡āĻ° āĻšāĻŽā§ŽāĻ•āĻžāĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ• āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ CI/CD āĻāĻ° āĻ¸āĻžāĻĨā§‡ SSH āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻĨāĻŋāĻ¤ā§‡ āĻĄāĻ•āĻžāĻ° āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ SSH āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ­āĻžāĻ—.

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

āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻŽāĻ°āĻž āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻŦ SSH_PRIVATE_KEY āĻ•āĻŋāĻ­āĻžāĻŦā§‡ GitLab CI/CD āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ā§‡āĨ¤
āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻšāĻ¤ā§āĻ°ā§āĻĨ āĻ§āĻžāĻĒā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ .gitlab-ci.yml āĻāĻ‡ āĻŽāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻš:

before_script:
  # See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
  - git config --global user.email "$GITLAB_USER_EMAIL"
  - git config --global user.name "Gitlab CI"

āĻšāĻ˛ā§āĻ¨ āĻāĻ–āĻ¨ā§‹ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻŽāĻŋāĻŸ āĻ¨āĻž .gitlab-ci.yml, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

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

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

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨: āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻāĻ¸āĻāĻ¸āĻāĻ‡āĻš āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻ†āĻ›ā§‡, āĻ“āĻĒā§‡āĻ¨ āĻāĻ¸āĻāĻ¸āĻāĻ‡āĻš āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ° āĻ†āĻ°ā§‹ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•. āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ•ā§‡ PANTHEON_SITE āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§ˇ āĻāĻ° āĻŽāĻžāĻ¨ āĻšāĻ˛ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤

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

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻāĻ° āĻĒāĻ°ā§‡, āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• PANTHEON_GIT_URL. āĻāĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ URL āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° SSH āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ URL āĻ˛āĻŋāĻ–ā§āĻ¨, āĻ›āĻžāĻĄāĻŧāĻž git clone āĻāĻŦāĻ‚ āĻļā§‡āĻˇā§‡ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤

āĻ“āĻĢ āĻāĻŸāĻž āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻļā§‡āĻˇ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ .gitlab-ci.yml.

āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

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

āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻŽāĻžā§āĻš deploy и āĻ•āĻžāĻœ deploy:dev, āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻŽā§‹āĻ¤āĻžāĻ¯āĻŧā§‡āĻ¨ āĻ•āĻ°āĻŦāĨ¤ āĻĢāĻ˛ā§‡ āĻĢāĻžāĻ‡āĻ˛ .gitlab-ci.yml āĻāĻ‡ āĻŽāĻ¤ āĻšā§‡āĻšāĻžāĻ°āĻž āĻšāĻŦā§‡:

stages:
- deploy

before_script:
  # See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
  - git config --global user.email "$GITLAB_USER_EMAIL"
  - git config --global user.name "Gitlab CI"

deploy:dev:
  stage: deploy
  environment:
    name: dev
    url: https://dev-$PANTHEON_SITE.pantheonsite.io/
  script:
    - git remote add pantheon $PANTHEON_GIT_URL
    - git push pantheon master --force
  only:
    - master

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ SSH_PRIVATE_KEY, PANTHEON_SITE и PANTHEON_GIT_URL āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĻā§‡āĻ–āĻž āĻ‰āĻšāĻŋāĻ¤ - āĻ†āĻŽāĻ°āĻž āĻ†āĻ—ā§‡ āĻāĻ‡ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ†āĻĒ. āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦ .gitlab-ci.yml āĻ…āĻ¨ā§‡āĻ• āĻŦāĻžāĻ°, āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ• āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻĢāĻžāĻ‡āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨, āĻ•āĻŽāĻŋāĻŸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻžāĻ āĻžāĻ¨ .gitlab-ci.yml āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡āĨ¤

āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻŸāĻžāĻ¸ā§āĻ• deploy:dev GitLab CI/CD āĻ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻšāĻ˛āĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻœāĻŽāĻž āĻĻā§‡āĻŦā§‡ .gitlab-ci.yml āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡ āĻšāĻ˛ā§āĻ¨ āĻĻā§‡āĻ–ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•āĨ¤

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡ āĻŽāĻžāĻ°ā§āĻœ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ āĻĨā§āĻ°ā§‡āĻĄ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡

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

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

āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ—āĻŋāĻŸ āĻļāĻžāĻ–āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• git checkout -b multidev-support. āĻāĻ–āĻ¨ āĻ†āĻŦāĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• .gitlab-ci.yml.

āĻ†āĻŽāĻŋ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¨āĻžāĻŽā§‡ āĻŽāĻžāĻ°ā§āĻœ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ āĻ¨āĻŽā§āĻŦāĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻžāĻ°ā§āĻœ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ āĻšāĻ˛ mr-1, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ - mr-2 āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ

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

āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ $CI_MERGE_REQUEST_IIDāĻŽāĻžāĻ°ā§āĻœ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ āĻ¨āĻŽā§āĻŦāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻ—ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ‡ āĻ¸āĻŦ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ deploy:multidev āĻŸāĻžāĻ¸ā§āĻ• āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ .gitlab-ci.yml.

deploy:multidev:
  stage: deploy
  environment:
    name: multidev/mr-$CI_MERGE_REQUEST_IID
    url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
  script:
    # Checkout the merge request source branch
    - git checkout $CI_COMMIT_REF_NAME
    # Add the Pantheon git repository as an additional remote
    - git remote add pantheon $PANTHEON_GIT_URL
    # Push the merge request source branch to Pantheon
    - git push pantheon $CI_COMMIT_REF_NAME:mr-$CI_MERGE_REQUEST_IID --force
  only:
    - merge_requests

āĻāĻŸāĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻšāĻŦā§‡ deploy:dev, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļāĻžāĻ–āĻž āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ¨āĻž master.

āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¯ā§‹āĻ— āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻŦāĻĻā§āĻ§ .gitlab-ci.yml, āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻ–āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸āĻž āĻ¯āĻžāĻ• git push -u origin multidev-support.

āĻāĻ–āĻ¨ āĻļāĻžāĻ–āĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ°ā§āĻœ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• multidev-supportāĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§‡ āĻŽāĻžāĻ°ā§āĻœ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨.

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ°ā§āĻœ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°, āĻ†āĻŽāĻ°āĻž CI/CD āĻŸāĻžāĻ¸ā§āĻ• āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻĻā§‡āĻ–āĻŋ deploy:multidev.

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

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

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻšāĻ˛ā§āĻ¨ Git āĻļāĻžāĻ–āĻž āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¤āĻžāĻ•āĻžāĻ¨.

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻĢāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĨā§āĻ°ā§‡āĻĄ mr-1 āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡ āĻ—āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ–āĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• mr-1.

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĄā§‡āĻ­ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻ–āĻ¨ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ¯āĻžāĻ‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻĻā§‡āĻ–āĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ > āĻĒāĻ°āĻŋāĻŦā§‡āĻļ. āĻ†āĻŽāĻ°āĻž āĻœāĻ¨ā§āĻ¯ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ dev и mr-1.

āĻāĻŸāĻŋ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ environment āĻ¨āĻžāĻŽ āĻ¸āĻš name и url āĻ¸āĻŋāĻ†āĻ‡/āĻ¸āĻŋāĻĄāĻŋ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ“āĻĒā§‡āĻ¨ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ†āĻ‡āĻ•āĻ¨ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°āĻ˛ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĄā§‡āĻ­ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° URL-āĻ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻšāĻŦā§‡āĨ¤

āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĄā§‡āĻ­ āĻ¤ā§ˆāĻ°āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨

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

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

āĻāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ°ā§āĻœ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§ˇ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻ–āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• git checkout -b auto-multidev-creation.

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

āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻŽā§‡āĻļāĻŋāĻ¨ āĻŸā§‹āĻ•ā§‡āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻžāĻŽ āĻ¸āĻš āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ PANTHEON_MACHINE_TOKEN.

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ GitLab āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻ¨, āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ¯āĻžāĻ¨ PANTHEON_SITE.

āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĄāĻ•āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨ āĻŦāĻž āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨ Dockerfile, āĻ†āĻŽāĻžāĻ° āĻ›āĻŦāĻŋ āĻ¨āĻžāĻ“ registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest āĻāĻŦāĻ‚ āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨āĨ¤

āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

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

# Use the official Composer image as a parent image
FROM composer:1.8

# Update/upgrade apk
RUN apk update
RUN apk upgrade

# Make the Terminus directory
RUN mkdir -p /usr/local/share/terminus

# Install Terminus 2.x with Composer
RUN /usr/bin/env COMPOSER_BIN_DIR=/usr/local/bin composer -n --working-dir=/usr/local/share/terminus require pantheon-systems/terminus:"^2"

āĻŦāĻŋāĻ­āĻžāĻ— āĻĨā§‡āĻ•ā§‡ āĻ›āĻŦāĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨ āĻ›āĻŦāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻļ āĻ•āĻ°ā§āĻ¨ в āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ›āĻŦāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻ¤ā§‡ Dockerfile āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻ ā§‡āĻ˛ā§‡ āĻĻāĻŋāĻ¨āĨ¤

āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻ–ā§āĻ˛ā§āĻ¨ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĨ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻšāĻ˛āĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ­āĻžāĻŦāĻŽā§‚āĻ°ā§āĻ¤āĻŋ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ‡āĻŽā§‡āĻœ āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ˛āĻŋāĻ–ā§āĻ¨ - āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ .gitlab-ci.yml.

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ script āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯āĻŧ deploy:multidev āĻŦāĻžāĻĄāĻŧāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻāĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ•āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ private/multidev-deploy.sh:

#!/bin/bash

# Store the mr- environment name
export PANTHEON_ENV=mr-$CI_MERGE_REQUEST_IID

# Authenticate with Terminus
terminus auth:login --machine-token=$PANTHEON_MACHINE_TOKEN

# Checkout the merge request source branch
git checkout $CI_COMMIT_REF_NAME

# Add the Pantheon Git repository as an additional remote
git remote add pantheon $PANTHEON_GIT_URL

# Push the merge request source branch to Pantheon
git push pantheon $CI_COMMIT_REF_NAME:$PANTHEON_ENV --force

# Create a function for determining if a multidev exists
TERMINUS_DOES_MULTIDEV_EXIST()
{
    # Stash a list of Pantheon multidev environments
    PANTHEON_MULTIDEV_LIST="$(terminus multidev:list ${PANTHEON_SITE} --format=list --field=id)"

    while read -r multiDev; do
        if [[ "${multiDev}" == "$1" ]]
        then
            return 0;
        fi
    done <<< "$PANTHEON_MULTIDEV_LIST"

    return 1;
}

# If the mutltidev doesn't exist
if ! TERMINUS_DOES_MULTIDEV_EXIST $PANTHEON_ENV
then
    # Create it with Terminus
    echo "No multidev for $PANTHEON_ENV found, creating one..."
    terminus multidev:create $PANTHEON_SITE.dev $PANTHEON_ENV
else
    echo "The multidev $PANTHEON_ENV already exists, skipping creating it..."
fi

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻ¨āĻž. āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĄā§‡āĻ­ āĻ˛āĻœāĻŋāĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ° āĻāĻ–āĻ¨ āĻŦāĻŋāĻ­āĻžāĻ— āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• deploy:multidev āĻĢāĻžāĻ‡āĻ˛ .gitlab-ci.ymlāĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻāĻ‡ āĻŽāĻ¤ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ:

deploy:multidev:
  stage: deploy
  environment:
    name: multidev/mr-$CI_MERGE_REQUEST_IID
    url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
  script:
    # Run the multidev deploy script
    - "/bin/bash ./private/multidev-deploy.sh"
  only:
    - merge_requests

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ›āĻŦāĻŋāĻ¤ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ image āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋ URL āĻĨā§‡āĻ•ā§‡ .gitlab-ci.yml. āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻŽāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ™ā§āĻ—ā§‡ āĻļā§‡āĻˇ .gitlab-ci.yml:

image: registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest

stages:
- deploy

before_script:
  # See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
  - git config --global user.email "$GITLAB_USER_EMAIL"
  - git config --global user.name "Gitlab CI"

deploy:dev:
  stage: deploy
  environment:
    name: dev
    url: https://dev-$PANTHEON_SITE.pantheonsite.io/
  script:
    - git remote add pantheon $PANTHEON_GIT_URL
    - git push pantheon master --force
  only:
    - master

deploy:multidev:
  stage: deploy
  environment:
    name: multidev/mr-$CI_MERGE_REQUEST_IID
    url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
  script:
    # Run the multidev deploy script
    - "/bin/bash ./private/multidev-deploy.sh"
  only:
    - merge_requests

āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨, āĻ•āĻŽāĻŋāĻŸ āĻāĻŦāĻ‚ āĻĒāĻžāĻ āĻžāĻ¨ private/multidev-deploy.sh и .gitlab-ci.yml. āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŋ āĻāĻŦāĻ‚ CI/CD āĻŸāĻžāĻ¸ā§āĻ• āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋāĨ¤ āĻ§ā§ˆāĻ°ā§āĻ¯ āĻ§āĻ°ā§āĻ¨: āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĄā§‡āĻ­ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĄā§‡āĻ­ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ¯āĻžāĻ‡āĨ¤ āĻ“āĻš āĻ…āĻ˛ā§ŒāĻ•āĻŋāĻ•! āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĄā§‡āĻ­ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ mr-2 āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ–āĻžāĻ¨ā§‡.

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄā§āĻ°ā§āĻĒāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

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

GitLab āĻāĻŦāĻ‚ Pantheon-āĻāĻ° āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻŸā§āĻ˛ā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ GitLab-āĻ•ā§‡ Pantheon-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻ¸āĻŋāĻ†āĻ‡/āĻ¸āĻŋāĻĄāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻĒā§āĻ°āĻŦāĻžāĻš āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻŖāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

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

PS āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ¸, āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻŸā§āĻ˛, āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡?

āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 2-āĻ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ¸ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŸā§āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨ GitLab āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻšāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻŦāĻŋāĻ°āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¨āĻž āĻšāĻžāĻ‡āĻ˛ā§‡, āĻāĻ‡ āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° v2 āĻŦāĻŋāĻŸāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°ā§āĻ¨ā§ˇ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ¸ āĻĻāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ build:project:create āĻ†āĻĒāĻ¨āĻžāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻŸā§‹āĻ•ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻŸā§‹āĻ•ā§‡āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ¤āĻŋāĻ¨āĻŋ āĻ•āĻŽā§āĻĒā§‹āĻœāĻžāĻ° āĻāĻŦāĻ‚ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŽā§āĻ¨āĻž āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻŦā§‡āĻ¨, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ¨āĻĨāĻŋāĻ¯āĻŧāĻ¨ āĻ¸āĻžāĻ‡āĻŸ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻāĻŦāĻ‚ SSH āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ā§ˇ

āĻ˛ā§‡āĻ–āĻ• āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡

āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°ā§ āĻŸā§‡āĻ˛āĻ° āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻĒā§āĻ¯āĻžāĻ¨āĻĨā§€āĻ¯āĻŧāĻ¨.

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

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