рд╣реЕрдмреНрд░рд▓рд╛ рдереЛрдбреЗрд╕реЗ рдЪрд╛рд│рд▓реНрдпрд╛рдирдВрддрд░, рдорд▓рд╛ рдЖрд╢реНрдЪрд░реНрдп рд╡рд╛рдЯрд▓реЗ рдХреА GitHub рдЪреНрдпрд╛ (рдмреАрдЯрд╛) рд╡реИрд╢рд┐рд╖реНрдЯреНрдп - рдХреНрд░рд┐рдпрд╛ рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдлрд╛рд░ рдХрдореА рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд.
рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдЕрд╢рд╛ рдЕрдзреЛрд░реЗрдЦрд┐рддрдкрдгрд╛рдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрджреНрдпрд╛рдк рдЪрд╛рдЪрдгреАрдордзреНрдпреЗ рдЖрд╣реЗ, рдЬрд░реА тАЬрдмреАрдЯрд╛тАЭ. рдкрд░рдВрддреБ рд╣реЗ рдмреАрдЯрд╛рдЪреЗ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ рдЬреЗ рд╣реЗ рд╕рд╛рдзрди рдЦрд╛рдЬрдЧреА рднрд╛рдВрдбрд╛рд░рд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдпрд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдореА рдпрд╛ рд▓реЗрдЦрд╛рдд рдмреЛрд▓рдгрд╛рд░ рдЖрд╣реЗ.
рдкреНрд░рд╛рдЧреИрддрд┐рд╣рд╛рд╕рд┐рдХ
рдЬрд░ рдЖрдкрдг рдХреНрд░рдорд╛рдиреЗ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА, рддрд░ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ рдХреА рд╡реИрдпрдХреНрддрд┐рдХ тАЬрдорд╛рдЭреНрдпрд╛рдмрджреНрджрд▓тАЭ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрдЧрд╡рд╛рди, рд╕реЛрдпреАрд╕реНрдХрд░, рд╕реБрд▓рдн рдЖрдгрд┐ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдкрд░реНрдпрд╛рдп рд╢реЛрдзрдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд, рдорд▓рд╛ рдЕрдиреЗрдХ рд░рд╛рддреНрд░реА рдШрд╛рд▓рд╡рд╛рд╡реНрдпрд╛ рд▓рд╛рдЧрд▓реНрдпрд╛ рдЖрдгрд┐ рдЕрдиреЗрдХ рд▓реЗрдЦрд╛рдВрдордзреВрди рдХрдВрдШреА рдХрд░рд╛рд╡реА рд▓рд╛рдЧрд▓реА.
рдХрд╛рд╣реА рд▓реЛрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдирд┐рд╡рдбрддрд╛рдд, рдЗрддрд░ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рдЬреНрдпрд╛рдВрдирд╛ рдпрд╛ рд╕рд░реНрд╡рд╛рдВрд╕рд╛рдареА рдХрд╛рдо, рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдЖрдгрд┐ рдкреЗрдореЗрдВрдЯ рд╕рдордЬреВрди рдШреНрдпрд╛рдпрдЪреЗ рдирд╛рд╣реА рдЬрд╕реЗ рдХреА рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдЕрдкрд▓реЛрдб рдХрд░рдгреЗ, рдЖрддрд╛ рд╣реЗ GitHub рдЖрдгрд┐ GitLab рджреЛрдиреНрд╣реАрд╡рд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
рдЕрд░реНрдерд╛рдд рд╣реА рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреА рд╡реИрдпрдХреНрддрд┐рдХ рдирд┐рд╡рдб рдЖрд╣реЗ.
рдорд╛рдЭреА рдЕрдВрддрд┐рдо рдирд┐рд╡рдб GitHub рдкреГрд╖реНрдареЗ рд╣реЛрддреА.
рдкреГрд╖реНрдард╛рдВрдмрджреНрджрд▓
рдХреЛрдгрд╛рд▓рд╛ рдорд╛рд╣реАрдд рдирд╛рд╣реА gh-pages
- рд╡реЗрдмрд╕рд╛рдЗрдЯрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рджрд╕реНрддрдРрд╡рдЬ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╣рд╛ рдПрдХ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ рдЖрдгрд┐ рддреЛ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╡реИрдпрдХреНрддрд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рджреЗрдЦреАрд▓ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ. рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ GitHub рджреНрд╡рд╛рд░реЗ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ.
рдкреНрд░рдХрд▓реНрдк рднрд╛рдВрдбрд╛рд░ рд╢рд╛рдЦрд╛ рд╡рд╛рдкрд░рддреЗ gh-pages
, рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯрд╕рд╛рдареА - рдирд╛рд╡рд╛рд╕рд╣ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рднрд╛рдВрдбрд╛рд░ username.github.io
рдордзреНрдпреЗ рд╕рд╛рдЗрдЯ рд╕реНрддреНрд░реЛрддрд╛рдВрд╕рд╣ master
рд╢рд╛рдЦрд╛
рддреБрдореНрд╣реА рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓ рдкрд╛рд╣реВ рд╢рдХрддрд╛ CNAME
рдбреЛрдореЗрди рдирд╛рд╡рд╛рд╕рд╣ рдЖрдгрд┐ GitHub рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рддреБрдордЪреНрдпрд╛ рдбреЛрдореЗрди рдкреНрд░рджрд╛рддреНрдпрд╛рдЪрд╛ DNS рд╕реЗрдЯ рдХрд░рд╛.
рдорд▓рд╛ рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рдЕрд╢реА рд╕рд╛рдЗрдЯ рдХрд╢реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рд╛рд╡реА рдпрд╛рдмрджреНрджрд▓ рдпреЗрдереЗ рдмрд░реЗрдЪ рд▓реЗрдЦ рдЖрд╣реЗрдд, рдореНрд╣рдгреВрди рдореА рдкреБрдвреЗ рдмреЛрд▓рдгрд╛рд░ рдирд╛рд╣реА.
рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рддрд╛рдд
рдЕрдбрдЪрдг рдЕрд╢реА рд╣реЛрддреА рдХреА рд╕реНрдЯреЕрдЯрд┐рдХ рдЬрдирд░реЗрдЯрд░ рд╡рд╛рдкрд░рддрд╛рдирд╛, рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ рдЬреНрдпрд╛рдореБрд│реЗ рдкреГрд╖реНрдареЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд▓реЛрдб рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд▓рдн рд╣реЛрддреЗ. рдлрдХреНрдд, рдЬрд░ рддреБрдореНрд╣реА рд╕реНрддреНрд░реЛрдд рд╡реЗрдЧрд│реНрдпрд╛ рдЦрд╛рдЬрдЧреА рднрд╛рдВрдбрд╛рд░рд╛рдд рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗ, рддрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рд╕рд╛рдЗрдЯрд╡рд░ рдХреЛрдгрддрд╛рд╣реА рдмрджрд▓ рдЭрд╛рд▓реНрдпрд╛рд╕, рд╕реНрдерд┐рд░ рдкреГрд╖реНрдард╛рдВрдЪреНрдпрд╛ рдкреБрдвреАрд▓ рдкрд┐рдвреАрд╕рд╛рдареА рдЖрдгрд┐ рдореБрдЦреНрдп рд╕рд╛рдЗрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдкреНрд░рдХрд╛рд╢рдирд╛рд╕рд╛рдареА рд╕реНрдерд╛рдирд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рддреИрдирд╛рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ.
рд╡рд┐рдкреБрд▓рддрд╛ рдЖрд╣реЗ
рдиреБрдХрддреЗрдЪ, рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░реАрд▓ рдкреЙрдк-рдЕрдк рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рдирдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ GitHub рдХрдбреАрд▓ рд╡реГрддреНрддрдкрддреНрд░рд╛рдд, рдПрдХ рдирд╡реАрди рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ CI/CD рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдпрд╛ рдХреНрд░рд┐рдпрд╛ рдХрдореАрдд рдХрдореА рдкреНрд░рдпрддреНрдирд╛рдд рдХрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ.
рд╕реНрдерд┐рд░ рдкреГрд╖реНрда рдЬрдирд░реЗрдЯрд░ рдмрджреНрджрд▓
рдореА рдпрд╛ рдЙрдк-рдЖрдпрдЯрдорд╡рд░ рд╡рд┐рд╢реЗрд╖ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдгрд╛рд░ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдореА рдЦрд╛рд▓реАрд▓рдкреИрдХреА рдирд┐рд╡рдб рдЖрдгрд┐ рд╡рд╛рдкрд░рд╛рджрд░рдореНрдпрд╛рди рдЖрд▓реЗрд▓реНрдпрд╛ рдХрд╛рд╣реА рдкреНрд░рдмрдВрдз рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░реЗрди:
1) рддреБрдордЪреНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрд▓рд╛ рдЕрдиреБрдХреВрд▓ рдЕрд╕рд╛ рдЬрдирд░реЗрдЯрд░ рдирд┐рд╡рдбрд╛ рдХрд┐рдВрд╡рд╛ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдЕрд╕реЗрд▓. рдорд▓рд╛ рд╣реА рдХрд▓реНрдкрдирд╛ рдЕрд╢рд╛ рд╡реЗрд│реА рд╕реБрдЪрд▓реА рдЬреЗрд╡реНрд╣рд╛ рдорд▓рд╛ рд╕реНрд╡рддрдГрд▓рд╛ рд╕рд╛рдЗрдЯрд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╛рдпрдЪреА рд╣реЛрддреА, рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░рддреЗрд╕рд╛рдареА рдЖрдгрд┐ рдСрдЯреЛрдореЗрд╢рдирд╕рд╛рдареА рдХреНрд░реЕрдЪ рдЬреЛрдбрд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдкреНрд▓рдЧрдЗрдирдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реНрд╡рддрдГ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреЗ рд╣реЗ рдПрдХ рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░рдг рдЖрд╣реЗ;
2) рдХреЛрдгрддрд╛ рдЬрдирд░реЗрдЯрд░ рдирд┐рд╡рдбрд╛рдпрдЪрд╛ рд╣реА рд╡реИрдпрдХреНрддрд┐рдХ рдирд┐рд╡рдб рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ рдХреА GitHub рдкреГрд╖реНрдард╛рдВрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдХрд╛рдорд╛рдд рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рд╕рд░реНрдЬрдирд╛рд╕рд╛рдареА, рдЖрдкрдг рдкреНрд░рдердо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдЬрдирд░реЗрдЯрд░рдЪреА рдорд╛рдЭреА рдирд┐рд╡рдб рдкрд╣рд┐рд▓реНрдпрд╛ рдореБрджреНрджреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ.
__
рд╕рдорд╕реНрдпреЗрдЪреА рдирд┐рд░реНрдорд┐рддреА
рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдореНрд╣рдгрдЬреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЦрд░реЗрддрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓) рд▓рд┐рд╣рд┐рдгреЗ рдЬреЗ рдЦрд╛рдЬрдЧреА рднрд╛рдВрдбрд╛рд░рд╛рддреВрди рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╕реНрдерд┐рд░ рдкреГрд╖реНрдареЗ рддрдпрд╛рд░ рдХрд░реЗрд▓. рд╕рдорд╛рдзрд╛рдирд╛рдордзреНрдпреЗ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕реЗрд▓. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рддрдГ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рднрд╛рдВрдбрд╛рд░рд╛рдд рддрдпрд╛рд░ рдкреГрд╖реНрдареЗ рдЬреЛрдбреЗрд▓.
рд╕рдорд╛рдзрд╛рдирд╛рд╕рд╛рдареА рд╕рд╛рдзрдиреЗ
рдЖрдореНрд╣реА рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗрд▓реА рд╕рд╛рдзрдиреЗ:
- GitHub рдХреНрд░рд┐рдпрд╛;
- рдкрд╛рдпрдерди 3.7;
- рдкреЗрд▓рд┐рдХрди;
- рдЧрд┐рдЯ;
- GitHub рдкреГрд╖реНрдареЗ.
рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреЗ
рдореНрд╣рдгреВрди, рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рдЪреА рдереЛрдбреАрд╢реА рдУрд│рдЦ рдХрд░реВрди рдШреЗрддрд▓реНрдпрд╛рдирдВрддрд░ рдЖрдгрд┐ рдХреНрд░рд┐рдпрд╛рдВрд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХрд╢рд╛ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рд╣реЗ рд╕рдордЬреВрди рдШреЗрддрд▓реНрдпрд╛рд╡рд░, рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЭрд╛рд▓реЗ рдХреА рд╣реА рдпрдВрддреНрд░рдгрд╛ рдЙрджреНрднрд╡рд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдкреВрд░реНрдгрдкрдгреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░реЗрд▓. рд▓реЗрдЦрдирд╛рдЪреНрдпрд╛ рд╡реЗрд│реА, рдЖрдкрдг рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рджрд╕реНрдпрддрд╛ рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
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
реи) рдЙрдмрдВрдЯреВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╕рд╣ рд╕рдорд╛рдзрд╛рдиреА рдЕрд╕рд▓реНрдпрд╛рдиреЗ рдЖрдореНрд╣реА рдкреНрд░рддрд┐рдорд╛ рджреЗрдЦреАрд▓ рд╕реЛрдбреВ рдЬреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдБрдЪ рдХреЗрд▓реА рдЬрд╛рдИрд▓. рдЪреНрдпрд╛ рдХрдбреЗ рдмрдШрдгреЗ
build:
runs-on: ubuntu-latest
3) рдЪрд░рдгрд╛рдВрдордзреНрдпреЗ, рдЖрдореНрд╣реА рдореБрдЦреНрдп рдХрд╛рдорд╛рдЪреНрдпрд╛ рддрдпрд╛рд░реАрд╕рд╛рдареА рдкреНрд░рдердо рд╡рд╛рддрд╛рд╡рд░рдг рддрдпрд╛рд░ рдХрд░реВ.
рей.рез) рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╢рд╛рдЦреЗрдд рдЬрд╛ (рдорд╛рдирдХ рдкрд╛рдпрд░реА 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
.
рен) рдХрдорд┐рдЯ рдореЗрд╕реЗрдЬ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░реВ, рдмрджрд▓ рдХрд░реВ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдврдХрд▓реВ. рдЬреЗрдгреЗрдХрд░реВрди рдХрдорд┐рдЯ рд╡реНрдпрд░реНрде рдард░рдд рдирд╛рд╣реА рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ рдмреЕрд╢рдордзреНрдпреЗ рддреНрд░реБрдЯреА рдирд┐рд░реНрдорд╛рдг рд╣реЛрдд рдирд╛рд╣реА (рдЖрдЙрдЯрдкреБрдЯ рдкрд░рд┐рдгрд╛рдо рдирд╛рд╣реА 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
рдкрд░рд┐рдгрд╛рдо
рдкрд░рд┐рдгрд╛рдореА, рдЕрд╢реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕реНрдерд┐рд░ рдкреГрд╖реНрдареЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░ рди рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдЦрд╛рдЬрдЧреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдереЗрдЯ рдмрджрд▓ рдЬреЛрдбреВрди, тАЛтАЛрдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд git рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВрди рдХрд┐рдВрд╡рд╛ 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