рд╣реИрдмрд░ рдХреЛ рдереЛрдбрд╝рд╛ рдЦрдВрдЧрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ GitHub рдХреЗ (рдмреАрдЯрд╛) рдлреАрдЪрд░ - рдПрдХреНрд╢рди рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдмрд╣реБрдд рдХрдо рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдП рд╣реИрдВред
рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдЕрд▓реНрдкрдХрдерди рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрднреА рднреА рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╣реИ, рдпрджреНрдпрдкрд┐ "рдмреАрдЯрд╛"ред рд▓реЗрдХрд┐рди рдпрд╣ рдмреАрдЯрд╛ рдХреА рдПрдХ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдЯреВрд▓ рдХреЛ рдирд┐рдЬреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕
рдпрджрд┐ рд╣рдо рдХреНрд░рдо рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рддрдГ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд "рдореЗрд░реЗ рдмрд╛рд░реЗ рдореЗрдВ" рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреЗрдЬрд╝, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рдЖрд╕рд╛рди рдФрд░ рдореБрдлреНрдд рд╡рд┐рдХрд▓реНрдк рдХреА рдЦреЛрдЬ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ рдХрдИ рд░рд╛рддреЗрдВ рдмрд┐рддрд╛рдиреА рдкрдбрд╝реАрдВ рдФрд░ рдХрдИ рд▓реЗрдЦреЛрдВ рдХреЛ рдЦрдВрдЧрд╛рд▓рдирд╛ рдкрдбрд╝рд╛ред
рдХреБрдЫ рд▓реЛрдЧ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЪреБрдирддреЗ рд╣реИрдВ, рдЕрдиреНрдп рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд░ рдЪреБрдирддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рд▓реЛрдЧ рдЗрди рд╕рдмрдХреЗ рд▓рд┐рдП рдХрд╛рдо, рдЗрдВрдЯрд░реИрдХреНрд╢рди рдФрд░ рднреБрдЧрддрд╛рди рдХреЛ рд╕рдордЭрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рд╕реНрдЯреИрдЯрд┐рдХ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ GitHub рдФрд░ GitLab рджреЛрдиреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдмреЗрд╢рдХ, рдпрд╣ рд╣рд░ рдХрд┐рд╕реА рдХреА рдирд┐рдЬреА рдкрд╕рдВрдж рд╣реИред
рдореЗрд░реА рдЕрдВрддрд┐рдо рдкрд╕рдВрдж GitHub Pages рдереАред
рдкреЗрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдХреМрди рдирд╣реАрдВ рдЬрд╛рдирддрд╛ gh-pages
- рдпрд╣ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдФрд░ рдпрд╣ рдирд┐рдГрд╢реБрд▓реНрдХ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ GitHub рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдПрдХ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ gh-pages
, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП - рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рднрдВрдбрд╛рд░ username.github.io
рд╕рд╛рдЗрдЯ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде master
рд╢рд╛рдЦрд╛ред
рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ CNAME
рдбреЛрдореЗрди рдирд╛рдо рдХреЗ рд╕рд╛рде рдФрд░ GitHub рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдкреНрд░рджрд╛рддрд╛ рдХрд╛ DNS рд╕реЗрдЯ рдХрд░рдирд╛ред
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдРрд╕реА рд╕рд╛рдЗрдЯ рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдпрд╣рд╛рдВ рдХрдИ рд▓реЗрдЦ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдЧреЗ рдирд╣реАрдВ рд╣реИред
рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдШрдЯрд┐рдд рд╣реЛрдирд╛
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рд╕реНрдереИрддрд┐рдХ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдкреЗрдЬ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдмрд╕, рдпрджрд┐ рдЖрдк рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдирд┐рдЬреА рднрдВрдбрд╛рд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рд░ рдмрд╛рд░ рдЬрдм рд╕рд╛рдЗрдЯ рдкрд░ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореБрдЦреНрдп рд╕рд╛рдЗрдЯ рднрдВрдбрд╛рд░ рдореЗрдВ рд╕реНрдерд┐рд░ рдкреГрд╖реНрдареЛрдВ рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдХреА рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдмрд╣реБрддрд╛рдпрдд рд╣реИ
рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдпрд╛ рддреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдкреЙрдк-рдЕрдк рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЗрдВ рдпрд╛ рдЧрд┐рдЯрд╣рдм рдХреЗ рдиреНрдпреВрдЬрд╝рд▓реЗрдЯрд░ рдореЗрдВ, рдПрдХ рдирд╡рдирд┐рд░реНрдорд┐рдд рд╕реАрдЖрдИ/рд╕реАрдбреА рджреЗрдЦреА рдЧрдИ, рдЬрд┐рд╕рдиреЗ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред
рд╕реНрдЯреЗрдЯрд┐рдХ рдкреЗрдЬ рдЬреЗрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдореИрдВ рдЗрд╕ рдЙрдк-рдЖрдЗрдЯрдо рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдХреБрдЫ рдереАрд╕рд┐рд╕ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдЪрдпрди рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рджреМрд░рд╛рди рдорд┐рд▓реАрдВ:
1) рдРрд╕рд╛ рдЬрдирд░реЗрдЯрд░ рдЪреБрдиреЗрдВ рдЬреЛ рдЖрдкрдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛ, рдпрд╛ рдРрд╕рд╛ рдЬрдирд░реЗрдЯрд░ рдЪреБрдиреЗрдВ рдЬреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛред рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЙрд╕ рд╕рдордп рдЖрдпрд╛ рдЬрдм рдореБрдЭреЗ рд╕реНрд╡рдпрдВ рд╕рд╛рдЗрдЯ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреА рдкрдбрд╝реА, рдЗрд╕рдХреА рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдмреИрд╕рд╛рдЦреА рдЬреЛрдбрд╝рдиреА рдкрдбрд╝реАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рдпрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ;
2) рдХреМрди рд╕рд╛ рдЬрдирд░реЗрдЯрд░ рдЪреБрдирдирд╛ рд╣реИ рдпрд╣ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ GitHub рдкреЗрдЬ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рдо рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рд╕рд░реНрдЬрди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдЬреЗрдирд░реЗрдЯрд░ рдХреА рдореЗрд░реА рдкрд╕рдВрдж рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
__
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рд░реВрдкрдг
рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓) рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рдЬреА рднрдВрдбрд╛рд░ рд╕реЗ рд╕реНрдерд┐рд░ рдкреГрд╖реНрда рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧреАред рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧреАред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ рддреИрдпрд╛рд░ рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рднрдВрдбрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧреАред
рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг
рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЬрд┐рди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
- рдЧрд┐рдЯрд╣рдм рдХреНрд░рд┐рдпрд╛рдПрдБ;
- рдкрд╛рдпрдерди 3.7;
- рд╣рд╡рд╛рд╕реАрд▓;
- рдЧрд┐рдЯ;
- рдЧрд┐рдЯрд╣рдм рдкреЗрдЬред
рд╕рдорд╛рдзрд╛рди
рдЗрд╕рд▓рд┐рдП, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ рдереЛрдбрд╝рд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдпрд╣ рддрдВрддреНрд░ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдХрд░ рджреЗрдЧрд╛ред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреА рд╣реЛрдЧреАред
рдЬреАрдердм рджреНрд╡рд╛рд░рд╛ рд╣реА рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг
рдПрдХреНрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд╛рдорд┐рдд рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ .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) рдЖрдк "рд╕реАрдЖрдИ" рдирд╛рдо рднреА рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕реНрд╡рд╛рдж рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ.
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) рдЖрдЗрдП git рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреА рдмрджрд▓реА рд╣реБрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░реЗрдВ:
- 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}.github.io.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}.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