Heroku āĻāĻŦāĻ Travis-CI āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻĒā§āĻ¸āĻā§āĻ¤ OAuth āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯ā§ GitHub āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻāĻāĻŋ āĻāĻā§āĻ°āĻŽāĻŖ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻ¤āĻ°ā§āĻ āĻāĻ°ā§āĻā§ā§ˇ āĻāĻāĻŋ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻāĻā§āĻ°āĻŽāĻŖā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŋāĻā§ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ° āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻĢāĻžāĻāĻ¸ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻž Heroku PaaS āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻāĻŦāĻ Travis-CI āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻā§āĻ˛ā§āĻāĻŋāĻ˛āĨ¤ āĻā§āĻˇāĻ¤āĻŋāĻā§āĻ°āĻ¸ā§āĻ¤āĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻ˛ āĻāĻŋāĻāĻšāĻžāĻŦ āĻāĻŦāĻ āĻāĻ¨āĻĒāĻŋāĻāĻŽ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĨ¤
āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻ°āĻž āĻāĻ¨āĻĒāĻŋāĻāĻŽ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ ā§āĻ¯āĻžāĻŽāĻžāĻāĻ¨ āĻāĻ¯āĻŧā§āĻŦ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ¸ āĻāĻĒāĻŋāĻāĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻžāĻŦāĻŋāĻāĻžāĻ āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻāĻŋāĻāĻšāĻžāĻŦ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻā§ AWS S3 āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ NPM āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ GitHub āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°ā§ āĻ¯ā§ NPM āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ˛āĻžāĻ āĻāĻ°āĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§āĻ, āĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨āĻŋ āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻāĻ°ā§āĻ¨āĻŋāĨ¤ āĻāĻāĻŋāĻ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻ¯ā§āĻšā§āĻ¤ā§ GitHub.com āĻāĻŦāĻ NPM āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§āĻā§āĻ˛āĻŋ āĻĒā§āĻĨāĻ, āĻ¤āĻžāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯ā§āĻā§āĻ¤ āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ˛āĻ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻžāĻā§ NPM-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ GitHub āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤
āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻ°āĻž AWS API-āĻāĻ° āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ 12 āĻāĻĒā§āĻ°āĻŋāĻ˛ āĻāĻā§āĻ°āĻŽāĻŖāĻāĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§, āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ° āĻāĻĒāĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻā§āĻ°āĻŽāĻŖ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯ā§āĻā§āĻ˛āĻŋ Heroku āĻāĻŦāĻ Travis-CI āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋāĻ˛āĨ¤ āĻā§āĻˇāĻ¤āĻŋāĻā§āĻ°āĻ¸ā§āĻĨ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¨āĻžāĻŽ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¤āĻŦā§ āĻāĻā§āĻ°āĻŽāĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻĒā§āĻĨāĻ āĻŦāĻŋāĻā§āĻāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ Heroku āĻāĻŦāĻ Travis-CI āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻāĻŦāĻ āĻ āĻĄāĻŋāĻ āĻ˛āĻāĻā§āĻ˛āĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻāĻ¤ā§āĻ¸āĻžāĻšāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻ¤āĻž āĻāĻŦāĻ āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§āĨ¤
āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻšāĻžāĻ¤ā§ āĻĒāĻĄāĻŧā§āĻāĻŋāĻ˛ āĻ¤āĻž āĻāĻāĻ¨āĻ āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻŋāĻāĻšāĻžāĻŦ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°ā§ āĻ¯ā§ āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽāĻā§āĻ¤āĻžāĻ° āĻĢāĻ˛ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ
āĻ¨ā§āĻŽā§āĻĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋ āĻāĻŋāĻāĻšāĻžāĻŦā§āĻ° āĻĒāĻžāĻļā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻŽā§āĻ˛ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§āĨ¤ āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻ° āĻāĻāĻ°āĻŖā§āĻ° āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖā§ āĻĻā§āĻāĻž āĻā§āĻā§ āĻ¯ā§ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻŽā§āĻ˛ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻž, āĻ¯ā§āĻŽāĻ¨ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻā§, āĻ¯āĻž āĻ
āĻŦāĻāĻžāĻ āĻžāĻŽā§āĻ° āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻā§āĻ°āĻŽāĻŖ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ .
āĻāĻ¤ā§āĻ¸: opennet.ru