GitHub рдПрдХ рд╕реНрдерд┐рд░ рдЬрдирд░реЗрдЯрд░ рдФрд░ GitHub рдкреЗрдЬ рдкрд░ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП CI / CD рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ


рд╣реИрдмрд░ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдереЛрдбрд╝рд╛ рд╣реИрд░рд╛рди рдерд╛ рдХрд┐ рдЧреАрдерд╣рдм рдХреЗ рдлреАрдЪрд░реНрд╕ - рдПрдХреНрдЯреНрд╕ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдмрд╣реБрдд рдХрдо рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдП рд╣реИрдВред


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордЭ рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрднреА рднреА рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╣реИ, рдпрджреНрдпрдкрд┐ "рдмреАрдЯрд╛"ред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЙрдкрдпреЛрдЧреА рдмреАрдЯрд╛ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдирд┐рдЬреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛ред


рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕


рдпрджрд┐ рдЖрдк рдХреНрд░рдо рдореЗрдВ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рдВрднрд╡рддрдГ рдЙрд╕ рдХреНрд╖рдг рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рд╛рдЗрдЯ "рдореЗрд░реЗ рдмрд╛рд░реЗ рдореЗрдВ" рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рдЖрд╕рд╛рди рдФрд░ рдореБрдлреНрдд рд╡рд┐рдХрд▓реНрдк рдЦреЛрдЬрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореБрдЭреЗ рдХрдИ рд░рд╛рддреЗрдВ рдмрд┐рддрд╛рдиреА рдкрдбрд╝реАрдВ рдФрд░ рдХрдИ рд▓реЗрдЦреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛ред


рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рдХрд┐рд╕реА рдХреЛ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд░, рдФрд░ рдЬреЛ рд▓реЛрдЧ рдХрд╛рдо, рдмрд╛рддрдЪреАрдд рдФрд░ рдЗрд╕ рд╕рдм рдХреЗ рднреБрдЧрддрд╛рди рдХреЛ рд╕рдордЭрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдЬреИрд╕реЗ рд╕реНрдереИрддрд┐рдХ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ GitHub рдФрд░ GitLab рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред


рдмреЗрд╢рдХ, рдпрд╣ рд╣рд░ рдХрд┐рд╕реА рдХреА рдирд┐рдЬреА рдкрд╕рдВрдж рд╣реИред


рдореЗрд░реА рдЕрдВрддрд┐рдо рдкрд╕рдВрдж GitHub Pages рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдереАред


рдкреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдЬреЛ рдХреЛрдИ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, gh-pages рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдРрд╕рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдФрд░ рдЗрд╕реЗ рдореБрдлреНрдд рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ GitHub рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдпрд╣ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП, gh-pages рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП, master рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕рд╛рдЗрдЯ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде username.imtqy.com рдирд╛рдордХ рдПрдХ рдЕрд▓рдЧ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ рдХрд┐ рдЕрджреНрднреБрдд рдЙрджрд╛рд░рддрд╛ рдХреЗ рд╕рд╛рде GitHub рд╕рднреА рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЛрдореЗрди рдХреЛ рдРрд╕реА рд╕рд╛рдЗрдЯ рдкрд░ рдмрд╕ рдирд╛рдо рдХреЗ рд╕рд╛рде CNAME рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдХрд░ рдФрд░ GitHub рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдкреНрд░рджрд╛рддрд╛ рдХрд╛ DNS рд╕реЗрдЯ рдХрд░рдХреЗ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рд╛рдЗрдЯ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд▓реЗрдЦ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред


рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣реЛрдирд╛


рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рд╕реНрдереИрддрд┐рдХ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрддрд┐рд░рд┐рдХреНрдд рд░рдЪрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдмреИрд╕рд╛рдЦреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рднрдВрдбрд╛рд░ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдмрд╕, рдпрджрд┐ рдЖрдк рд╕реНрд░реЛрдд рдХреЛ рдПрдХ рдЕрд▓рдЧ рдирд┐рдЬреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рд╕рд╛рдЗрдЯ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдереИрддрд┐рдХ рдкреЗрдЬреЛрдВ рдХреА рдЕрдЧрд▓реА рдкреАрдврд╝реА рдФрд░ рдореБрдЦреНрдп рд╕рд╛рдЗрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╡рд╛рддрд╛рд╡рд░рдг рддреИрдирд╛рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рд╕реНрдереИрддрд┐рдХ рдЬрдирд░реЗрдЯрд░ рдХреА рдПрдХ рдмрд╣реБрддрд╛рдпрдд рд╣реИ рдФрд░ рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рд╛рдЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдУрдПрд╕ рд╕реЗ рдУрдПрд╕ рдХреЗ рдХрдИ рдкрд▓рд╛рдпрди рдХреЗ рдмрд╛рдж рдпрд╛ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЗ рд╕рд╛рде рдХреА рдШрдЯрдирд╛рдПрдВ (рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд╛рдорд▓рд╛ рдерд╛) ред


рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдпрд╛ рддреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдкреЙрдк-рдЕрдк рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЗрдВ, рдпрд╛ рдЧрд┐рдЯрд╣рдм рд╕реЗ рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░ рдореЗрдВ, рдПрдХ рдирд╡-рдирд┐рд░реНрдорд┐рдд рд╕реАрдЖрдИ / рд╕реАрдбреА рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд╕рд╛рде рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдереАред


рд╕реНрдерд┐рд░ рдкреЗрдЬ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдореИрдВ рдЗрд╕ рдЙрдк-рдЕрдиреБрдЪреНрдЫреЗрдж рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрди рдХреБрдЫ рд╢реЛрдзреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рдЗрди рдЪрдпрдиреЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рджреМрд░рд╛рди рдЖрдП:


1) рдпрд╣ рдЖрдкрдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдирд░реЗрдЯрд░ рдЪреБрдирдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдпрд╛ рдПрдХ рдЬреЛ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдерд╛ред рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЙрд╕ рд╕рдордп рдЖрдпрд╛ рдЬрдм рдореБрдЭреЗ рд╕реНрд╡рдпрдВ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдирд╛ рдерд╛, рдЗрд╕рдХреА рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдмреИрд╕рд╛рдЦреА рдХреЛ рдиреАрдЪреЗ рд░рдЦрдирд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ;


2) рдХрд┐рд╕ рдЬрдирд░реЗрдЯрд░ рдкрд░ рдирд┐рд╡рд╛рд╕ рдХрд░рдирд╛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЧрд┐рдЯрд╣рдм рдкреЗрдЬ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рд╕рд░реНрдЬрди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЬреЗрдХрд┐рд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рд╕реЗ рд╕реАрдзреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдореИрдВ рдЕрдкрдиреА рдкрд╕рдВрдж рд╕реЗ рдЗрд╕реЗ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛) ред


рдЬрдирд░реЗрдЯрд░ рдХреА рдореЗрд░реА рдкрд╕рдВрдж рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдкреЗрд▓рд┐рдХрди рдЬреЛ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдЬрдирдмреА рдХреЛ рдореЗрд░реЗ рд▓рд┐рдП рдЬреЗрдХрд┐рд▓ (рд▓рдЧрднрдЧ рдПрдХ рд╡рд░реНрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред рдирддреАрдЬрддрди, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд▓реЗрдЦ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрди рдХрд░рдиреЗ рдкрд░, рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд░реЛрдмреЛрдЯ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рднрд╛рд╖рд╛ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрднрд╡ рджреЗрддрд╛ рд╣реИред


__


рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди


рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓) рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рдЬреА рднрдВрдбрд╛рд░ рд╕реЗ рд╕реНрдереИрддрд┐рдХ рдкреГрд╖реНрда рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред рд╕рдорд╛рдзрд╛рди рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ рддреИрдпрд╛рд░ рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рднрдВрдбрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдЧреАред


рд╕рдорд╛рдзрд╛рди рдЙрдкрдХрд░рдг


рдЙрдкрдХрд░рдг рдЬреЛ рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:


  • рдЧрд┐рдЯрд╣рдм рдХреНрд░рд┐рдпрд╛;
  • рдЕрдЬрдЧрд░ 3.7
  • рд╣рд╡рд╛рд╕реАрд▓;
  • git;
  • 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 

рей.рек) рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдЗрдЯ рдкреГрд╖реНрда рдЙрддреНрдкрдиреНрди рд╣реЛрдВрдЧреЗ:


  - 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}.imtqy.com.git" --branch master --single-branch ./output 

рдпрд╣ рдЪрд░рдг рд╕рд┐рд╕реНрдЯрдо рдЪрд░ рдХрд╣рддрд╛ рд╣реИ:


  • GITHUB_ACTOR GitHub рд╕реНрд╡рдпрдВ рдЪрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдирд╛рдо рд╣реИ рдЬрд┐рд╕рдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛;
  • secrets.ACCESS_TOKEN рдЪрд░ secrets.ACCESS_TOKEN рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдЯреЛрдХрди рд╣реИ , рд╣рдо рдЗрд╕реЗ 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) рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдз рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ, рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рднрдВрдбрд╛рд░ рдореЗрдВ рдзрдХреЗрд▓реЗрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдмреИрд╢ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рдЖрдЙрдЯрдкреБрдЯ 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}.imtqy.com.git master working-directory: ./output 

рдкрд░рд┐рдгрд╛рдо


рдирддреАрдЬрддрди, рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЛ рд╕реНрдерд┐рд░ рдкреГрд╖реНрда рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдирд┐рдЬреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реАрдзреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЬреЛрдбрд╝рдХрд░, рдЪрд╛рд╣реЗ рд╡рд╣ рдХрд┐рд╕реА рднреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛ рдпрд╛ рдЧрд┐рдЯрд╣рдм рдХреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдп рдпрд╣ рд╕рдм рд╕реНрд╡рдпрдВ рдХрд░реЗрдВрдЧреЗред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЗрд▓ рдкрд░ рднреЗрдЬреА рдЬрд╛рдПрдЧреАред


рдкреВрд░реНрдг рдХреЛрдб

рдореИрдВ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдВрд╕реНрдХрд░рдг рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдЗрд╕рдиреЗ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдХрд┐ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рдореБрдЦреНрдп рднрдВрдбрд╛рд░ рдореЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд░рд╣рд╕реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдмреЙрдЯ рдЯреЛрдХрди рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рд╣реИ, рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред


 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}.imtqy.com.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}.imtqy.com.git master curl "https://api.telegram.org/bot${{ secrets.BOT_TOKEN }}/sendMessage?text=$COMMIT_MESSAGE %0ALook at ${GITHUB_ACTOR}.imtqy.com %0ARepository%3A github.com/${GITHUB_ACTOR}/${GITHUB_ACTOR}.imtqy.com&chat_id=${{ secrets.ADMIN_ID }}" working-directory: ./output 

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ


рд╕реВрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдХрд╛рд░реНрдп рдЯреИрдм рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд▓реЙрдиреНрдЪ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдкрд░рд┐рдгрд╛рдо



рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЙрдЯ рд╕реЗ рд╕рдВрджреЗрд╢


рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ


рдХреНрд░рд┐рдпрд╛ рдЕрд╡рд▓реЛрдХрди
рдХреНрд░рд┐рдпрд╛ рд╕рд┐рдВрдЯреЗрдХреНрд╕
рдЯреНрд░рд┐рдЧрд░ рд╕реВрдЪреА
рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╡реЗрд░рд┐рдПрдВрдЯ
рдЧрд┐рдердм рдкреГрд╖реНрда
рд╕реНрдереИрддрд┐рдХ рдЬрдирд░реЗрдЯрд░ рд╕реВрдЪреА

Source: https://habr.com/ru/post/hi474668/


All Articles