āĻšāĻžāĻŦāĻ°āĻā§ āĻāĻāĻā§ āĻāĻˇā§ āĻĻā§āĻā§, āĻāĻŽāĻŋ āĻ āĻŦāĻžāĻ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§ GitHub-āĻāĻ° (āĻŦāĻŋāĻāĻž) āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ - āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻā§āĻŦ āĻāĻŽ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻž āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¯ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻā§āĻāĻžāĻā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻāĻ¨āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻĻāĻŋāĻ "āĻŦāĻŋāĻāĻž"āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻŦāĻŋāĻāĻž āĻāĻ° āĻāĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¯āĻž āĻāĻ āĻā§āĻ˛āĻāĻŋāĻā§ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻ¯āĻž āĻāĻŽāĻŋ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤
āĻĒā§āĻ°ā§āĻŦāĻāĻ¤āĻŋāĻšāĻžāĻ¸
āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŋ, āĻ¤āĻŦā§ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻžāĻ° āĻŽāĻ¤ā§ āĻ¯ā§ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ "āĻāĻŽāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§" āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤, āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ, āĻ¸āĻšāĻ āĻāĻŦāĻ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§āĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¤ā§, āĻāĻŽāĻžāĻā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ°āĻžāĻ¤ āĻāĻžāĻāĻžāĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻŋāĻ°ā§āĻ¨āĻŋ āĻĻāĻŋāĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
āĻāĻŋāĻā§ āĻ˛ā§āĻ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻŦā§āĻā§ āĻ¨ā§āĻ¯āĻŧ, āĻ āĻ¨ā§āĻ¯āĻ°āĻž āĻā§āĻ˛āĻžāĻāĻĄ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°, āĻāĻŦāĻ āĻ¯āĻžāĻ°āĻž āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ, āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ āĻ°ā§āĻĨāĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻŦā§āĻāĻ¤ā§ āĻāĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸āĻžāĻāĻ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻž, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻ¨ āĻāĻāĻŋ āĻāĻŋāĻāĻšāĻžāĻŦ āĻāĻŦāĻ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻāĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§āĻ° āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻĒāĻāĻ¨ā§āĻĻāĨ¤
āĻāĻŽāĻžāĻ° āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻŋāĻ˛ āĻāĻŋāĻāĻšāĻžāĻŦ āĻĒā§āĻāĨ¤
āĻĒā§āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§
āĻā§ āĻāĻžāĻ¨ā§ āĻ¨āĻž gh-pages
- āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻā§āĻ° āĻāĻāĻžāĻ°ā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻŦāĻ āĻāĻāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻāĻā§āĻ˛āĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž GitHub āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§āĨ¤
āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻāĻāĻāĻŋ āĻļāĻžāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ gh-pages
, āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¸āĻžāĻāĻā§āĻ° āĻāĻ¨ā§āĻ¯ - āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ username.github.io
āĻ¸āĻžāĻāĻā§āĻ° āĻāĻ¤ā§āĻ¸ āĻ¸āĻš master
āĻļāĻžāĻāĻž
āĻāĻ°āĻ āĻŦāĻŋāĻļāĻĻ āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ CNAME
āĻĄā§āĻŽā§āĻ¨ āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻ GitHub āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĄā§āĻŽā§āĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° DNS āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻžāĻāĻ āĻā§āĻāĻžāĻŦā§ āĻŦāĻŋāĻāĻžāĻļ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻžāĻ¨ā§ āĻ āĻ¨ā§āĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻ°āĻ āĻāĻĨāĻž āĻŦāĻ˛āĻ¤ā§ āĻ¯āĻžāĻā§āĻāĻŋ āĻ¨āĻžāĨ¤
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§āĻāĻž āĻĻā§āĻ¯āĻŧ
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻŋāĻ˛ āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋ āĻ˛āĻŋāĻāĻ¤ā§ āĻāĻŦāĻ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻšāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛āĨ¤ āĻ¸āĻšāĻāĻāĻžāĻŦā§, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻāĻ¤ā§āĻ¸āĻā§āĻ˛āĻŋ āĻ¸āĻā§āĻāĻ¯āĻŧ āĻāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻ¸āĻžāĻāĻā§ āĻ¯ā§ āĻā§āĻ¨āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻāĻ˛ā§, āĻŽā§āĻ˛ āĻ¸āĻžāĻāĻā§āĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ°āĻāĻ¨ā§āĻŽā§āĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĒā§āĻˇā§āĻ āĻž āĻāĻŦāĻ āĻĒā§āĻ°āĻāĻžāĻļāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛āĨ¤
āĻĒā§āĻ°āĻžāĻā§āĻ°ā§āĻ¯ āĻāĻā§
āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ, āĻšāĻ¯āĻŧ āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻĒ-āĻāĻĒ āĻŦāĻŋāĻā§āĻāĻĒā§āĻ¤āĻŋāĻ¤ā§ āĻŦāĻž āĻāĻŋāĻāĻšāĻžāĻŦā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻāĻāĻ˛ā§āĻāĻžāĻ°ā§, āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ CI/CD āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻž āĻā§āĻā§, āĻ¯āĻž āĻāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋāĻā§ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧā§ˇ
āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĒā§āĻ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§
āĻāĻŽāĻŋ āĻāĻ āĻāĻĒ-āĻāĻāĻā§āĻŽāĻāĻŋāĻ° āĻāĻĒāĻ° āĻŦāĻŋāĻļā§āĻˇ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻā§āĻŦ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻŽāĻŋ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĨāĻŋāĻ¸āĻŋāĻ¸ āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻŦ āĻ¯āĻž āĻāĻŽāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§āĻāĻŋ:
1) āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻāĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻžāĻ° āĻāĻĒāĻ¯ā§āĻā§āĻ¤, āĻŦāĻž āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°āĨ¤ āĻāĻŽāĻŋ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¯āĻŧā§ āĻāĻ āĻ§āĻžāĻ°āĻŖāĻžāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĻāĻŋ āĻ¯āĻāĻ¨ āĻāĻŽāĻžāĻā§ āĻ¸āĻžāĻāĻā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻ° āĻŦā§āĻšāĻ¤ā§āĻ¤āĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛āĻ¤āĻž āĻāĻŦāĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ°āĻžāĻ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻāĻāĻžāĻ°ā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻ¨āĻŋāĻā§āĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻžāĻ°āĻŖ;
2) āĻā§āĻ¨ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°āĻāĻŋ āĻŦā§āĻā§ āĻ¨ā§āĻŦā§āĻ¨ āĻ¤āĻž āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻĒāĻāĻ¨ā§āĻĻ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻŋāĻāĻšāĻžāĻŦ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻāĻžāĻā§āĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻ¨āĻŋāĻŽāĻā§āĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻāĻŽāĻžāĻ° āĻĒāĻāĻ¨ā§āĻĻ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĨ¤
__
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻ āĻ¨
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻžāĻ āĻšāĻŦā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ˛ā§āĻāĻž (āĻāĻ¸āĻ˛ā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛) āĻ¯āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĒā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĨ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻžāĻā§ āĻāĻĄāĻŧāĻŋāĻ¤ āĻāĻ°āĻŦā§āĨ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¨āĻŋāĻā§āĻ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻĒā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻŦā§āĨ¤
āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ:
- āĻāĻŋāĻāĻšāĻžāĻŦ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨;
- Python3.7;
- āĻāĻžāĻ¤āĻ;
- āĻāĻŋāĻ;
- āĻāĻŋāĻāĻšāĻžāĻŦ āĻĒā§āĻāĨ¤
āĻ¸āĻŽā§āĻāĻžāĻˇāĻŖ
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋāĻā§āĻāĻž āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§ āĻāĻŦāĻ āĻ
ā§āĻ¯āĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻāĻžāĻŦā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻŦā§āĻāĻžāĻ° āĻĒāĻ°ā§, āĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻā§āĻā§ āĻ¯ā§ āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻĻā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻŦā§āĨ¤ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ¸āĻžāĻŦāĻ¸ā§āĻā§āĻ°āĻžāĻāĻŦ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
Github āĻ¨āĻŋāĻā§āĻ āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž
āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ˛ā§āĻāĻž āĻāĻāĻāĻŋ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ .github
āĻāĻŦāĻ āĻāĻ° āĻ¸āĻžāĻŦāĻĢā§āĻ˛ā§āĻĄāĻžāĻ° workflows
. āĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻŦāĻž āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻ
ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻā§āĻ¯āĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ āĻĨā§āĻā§ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻāĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻĢāĻ°ā§āĻŽā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻŽāĻŋ āĻ¸āĻāĻā§āĻˇā§āĻĒā§ āĻĢāĻ°ā§āĻŽ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻ°āĻŦ
name: CI # ĐŊаСваĐŊиĐĩ ŅĐēŅиĐŋŅĐ°: ĐąŅĐ´ĐĩŅ ĐžŅОйŅĐ°ĐļĐ°ŅŅŅŅ вО вĐēĐģĐ°Đ´ĐēĐĩ Actions
on: [push] # Đ´ĐĩĐšŅŅвиĐĩ, ĐŋĐž ĐēĐžŅĐžŅĐžĐŧŅ СаĐŋŅŅĐēĐ°ĐĩŅŅŅ Đ´Đ°ĐŊĐŊŅĐš ŅĐēŅиĐŋŅ
jobs: # ŅОйОŅŅ, ĐēĐžŅĐžŅŅĐĩ ĐąŅĐ´ŅŅ вŅĐŋĐžĐģĐŊŅŅŅŅŅ
build: # ŅйОŅĐēĐ°, ĐēĐžŅĐžŅĐ°Ņ..
runs-on: ubuntu-latest # ..ĐąŅĐ´ĐĩŅ СаĐŋŅŅĐĩĐŊĐ° ĐŊĐ° ĐžŅĐŊОвĐĩ ŅŅĐžĐŗĐž ОйŅаСа
steps: # ŅĐ°Đŗи ĐēĐžŅĐžŅŅĐĩ ĐąŅĐ´ŅŅ ĐŋŅОдĐĩĐģĐ°ĐŊŅ ĐŋĐžŅĐģĐĩ СаĐŋŅŅĐēĐ° ОйŅаСа
- uses: actions/checkout@v1 # ĐŋĐĩŅĐĩŅ
Од в ŅĐ°ĐŧŅŅ Đ°ĐēŅŅĐ°ĐģŅĐŊŅŅ вĐĩŅĐēŅ
- name: Run a one-line script # иĐŧŅ ŅайОŅŅ ĐŊĐžĐŧĐĩŅ 1
run: echo Hello, world! # ŅŅŅŅ ŅайОŅŅ ĐŊĐžĐŧĐĩŅ 1 (bash-ĐēĐžĐŧĐ°ĐŊĐ´Đ° СаĐŋиŅĐ°ĐŊĐ° в ОдĐŊŅ ŅŅŅĐžĐēŅ)
- name: Run a multi-line script # иĐŧŅ ŅайОŅŅ ĐŊĐžĐŧĐĩŅ 2
run: | # ŅŅŅŅ ŅайОŅŅ ĐŊĐžĐŧĐĩŅ 2 (ĐŧĐŊĐžĐŗĐžŅŅŅĐžŅĐŊĐ°Ņ)
echo Add other actions to build,
echo test, and deploy your project.
āĻāĻ¸ā§āĻ¨ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ˛āĻŋāĻāĻŋ:
0) āĻāĻĒāĻ¨āĻŋ "CI" āĻ¨āĻžāĻŽāĻāĻŋāĻ āĻā§āĻĄāĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻž āĻ¸ā§āĻŦāĻžāĻĻā§āĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĨ¤
1) āĻāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨/āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŦā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻ° āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻāĻžāĻĒāĨ¤
on:
push
2) āĻāĻŽāĻ°āĻž āĻ¸ā§āĻ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋāĻ āĻā§āĻĄāĻŧā§ āĻĻā§āĻŦ āĻ¯āĻžāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻŦā§, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŦā§āĻ¨ā§āĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻŦā§āĻļ āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻāĨ¤ āĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻžāĻ
build:
runs-on: ubuntu-latest
3) āĻ§āĻžāĻĒā§, āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§ āĻŽā§āĻ˛ āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻŦāĨ¤
3.1) āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ¯āĻžāĻ¨ (āĻŽāĻžāĻ¨āĻ āĻĒāĻĻāĻā§āĻˇā§āĻĒ checkout
):
- uses: actions/checkout@v1
3.2) āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.7
3.3) āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
3.4) āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¸āĻžāĻāĻā§āĻ° āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§:
- name: Make output folder
run: mkdir output
4) āĻ¸āĻžāĻāĻā§ āĻāĻžāĻāĻāĻŋ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻ¯ā§āĻŽāĻ¨, āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻ āĻŦāĻŋāĻ°ā§āĻ§ āĻāĻžāĻĄāĻŧāĻžāĻ āĻ¸āĻžāĻāĻā§āĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻ¸āĻžāĻāĻā§āĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻā§āĻ˛ā§āĻ¨ āĻāĻ°āĻž āĻšāĻŦā§:
- name: Clone master branch
run: git clone "https://${{ secrets.ACCESS_TOKEN }}@github.com/${GITHUB_ACTOR}/${GITHUB_ACTOR}.github.io.git" --branch master --single-branch ./output
āĻāĻ āĻ§āĻžāĻĒāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻā§ āĻāĻ˛ āĻāĻ°ā§:
- āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛
GITHUB_ACTOR
GitHub āĻ¨āĻŋāĻā§āĻ āĻāĻ¨ā§āĻ¸āĻāĻ˛ āĻāĻ°ā§, āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻ¯āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛; - āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛
secrets.ACCESS_TOKEN
āĻāĻ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧGithub āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻā§āĻ¨ , āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻā§ āĻā§āĻ¯āĻžāĻŦā§ āĻ¸ā§āĻ āĻāĻ°ā§ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋSecrets
āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¸ā§āĻāĻŋāĻāĻ¸āĨ¤ āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻĒā§āĻ°āĻāĻ¨ā§āĻŽā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻā§āĻ¨āĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŦāĻžāĻ° āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻšāĻŦā§, āĻāĻāĻŋāĻ¤ā§ āĻāĻ° āĻā§āĻ¨āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĨāĻžāĻāĻŦā§ āĻ¨āĻžāĨ¤ āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ¸āĻŋāĻā§āĻ°ā§āĻ āĻāĻāĻā§āĻŽ āĻŽāĻžāĻ¨.
5) āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻĻāĻŋāĻā§ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ:
- name: Generate static pages
run: pelican content -o output -s publishconf.py
āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°ā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¸ā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻŦā§ (-o output
) āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ (-s publishconf.py
; āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ˛āĻŋāĻāĻžāĻ¨ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§ āĻĒā§āĻ°āĻāĻžāĻļāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨).
āĻāĻŽāĻžāĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻŋ āĻāĻā§ āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¨ output
āĻ¸āĻžāĻāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ˛ā§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§.
6) āĻāĻ¸ā§āĻ¨ āĻāĻŋāĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻā§ āĻāĻ°āĻŋ:
- name: Set git config and add changes
run: |
git config --global user.email "${GITHUB_ACTOR}@https://users.noreply.github.com/"
git config --global user.name "${GITHUB_ACTOR}"
git add --all
working-directory: ./output
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻāĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻ āĻ§āĻžāĻĒā§āĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻ
āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻŦā§ - cd output
.
7) āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻŽāĻŋāĻ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻĒā§āĻļ āĻāĻ°āĻŋāĨ¤ āĻ¯āĻžāĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¨āĻŋāĻ°āĻ°ā§āĻĨāĻ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻ bash-āĻ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻ¨āĻž āĻāĻ°ā§ (āĻāĻāĻāĻĒā§āĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¨āĻ¯āĻŧ 0
) â āĻĒā§āĻ°āĻĨāĻŽā§, āĻāĻ¸ā§āĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻĻā§āĻāĻŋ āĻ¯ā§ āĻāĻĻā§ āĻāĻŋāĻā§ āĻāĻŽāĻŋāĻ āĻāĻ°āĻž āĻāĻŦāĻ āĻĒā§āĻļ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ git diff-index --quiet --cached HEAD --
āĻ¯āĻž āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ā§ āĻāĻāĻāĻĒā§āĻ āĻšāĻŦā§ 0
āĻ¯āĻĻāĻŋ āĻ¸āĻžāĻāĻā§āĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻā§āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ 1
āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻā§āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž. āĻāĻāĻāĻžāĻŦā§, āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ¤āĻĨā§āĻ¯ā§, āĻāĻŽāĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ¸āĻžāĻāĻā§āĻ° āĻ
āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¤āĻĨā§āĻ¯ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻŦāĨ¤
āĻāĻŽāĻ°āĻž āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻŋāĨ¤
- name: Push and send notification
run: |
COMMIT_MESSAGE="Update pages on $(date +'%Y-%m-%d %H:%M:%S')"
git diff-index --quiet --cached HEAD -- && echo "No changes!" && exit 0 || echo $COMMIT_MESSAGE
# Only if repo have changes
git commit -m "${COMMIT_MESSAGE}"
git push https://${{ secrets.ACCESS_TOKEN }}@github.com/${GITHUB_ACTOR}/${GITHUB_ACTOR}.github.io.git master
working-directory: ./output
āĻĢāĻ˛
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻāĻā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§, āĻ¯ā§āĻā§āĻ¨ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻĨā§āĻā§ āĻāĻŋāĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°ā§ āĻŦāĻž GitHub āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻ¨āĻŋāĻā§āĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ°āĻŦā§āĨ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĻāĻžāĻŦā§ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ˛ā§, āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽā§āĻ˛ā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻā§āĻāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻŦā§āĨ¤
āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻā§āĻĄ
āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§āĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋ āĻā§āĻĄāĻŧā§ āĻĻā§āĻŦ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻļā§āĻˇ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻā§āĻāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻ¯ā§āĻ āĻāĻ°ā§ āĻ¯ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻŽā§āĻ˛ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻ ā§āĻ˛ā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻĒāĻ°ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧāĻ¤āĻžāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻŦāĻ āĻā§āĻā§āĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻāĻĄāĻŋ āĻ¯āĻžāĻā§ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
name: Push content to the user's GitHub pages repository
on:
push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Make output folder
run: mkdir output
- name: Clone master branch
run: git clone "https://${{ secrets.ACCESS_TOKEN }}@github.com/${GITHUB_ACTOR}/${GITHUB_ACTOR}.github.io.git" --branch master --single-branch ./output
- name: Generate static pages
run: pelican content -o output -s publishconf.py
- name: Set git config and add changes
run: |
git config --global user.email "${GITHUB_ACTOR}@https://users.noreply.github.com/"
git config --global user.name "${GITHUB_ACTOR}"
git add --all
working-directory: ./output
- name: Push and send notification
run: |
COMMIT_MESSAGE="Update pages on $(date +'%Y-%m-%d %H:%M:%S')"
git diff-index --quiet --cached HEAD -- && echo "No changes!" && exit 0 || echo $COMMIT_MESSAGE
git commit -m "${COMMIT_MESSAGE}"
git push https://${{ secrets.ACCESS_TOKEN }}@github.com/${GITHUB_ACTOR}/${GITHUB_ACTOR}.github.io.git master
curl "https://api.telegram.org/bot${{ secrets.BOT_TOKEN }}/sendMessage?text=$COMMIT_MESSAGE %0ALook at ${GITHUB_ACTOR}.github.io %0ARepository%3A github.com/${GITHUB_ACTOR}/${GITHUB_ACTOR}.github.io&chat_id=${{ secrets.ADMIN_ID }}"
working-directory: ./output
āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻļāĻ
āĻ¸ā§āĻ°ā§āĻ¸ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ° āĻ
ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻā§āĻ¯āĻžāĻŦā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻ°āĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻŦāĻ āĻĨā§āĻā§ āĻŦāĻžāĻ°ā§āĻ¤āĻž
āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ˛āĻŋāĻā§āĻ
āĻāĻ¤ā§āĻ¸: www.habr.com