ื”ืชืงืคื” ืขืœ GitHub ืคืขื•ืœื•ืช ืœื›ืจื™ื™ืช ืžื˜ื‘ืขื•ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ื™ื ื‘ืฉืจืชื™ GitHub

GitHub ื—ื•ืงืจืช ืกื“ืจื” ืฉืœ ื”ืชืงืคื•ืช ืฉื‘ื”ืŸ ื”ืฆืœื™ื—ื• ืชื•ืงืคื™ื ืœื›ืจื•ืช ืžื˜ื‘ืขื•ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ื™ื ืขืœ ืชืฉืชื™ืช ื”ืขื ืŸ ืฉืœ GitHub ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ืŸ GitHub Actions ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช ื”ืงื•ื“ ืฉืœื”ื. ื”ื ื™ืกื™ื•ื ื•ืช ื”ืจืืฉื•ื ื™ื ืœื”ืฉืชืžืฉ ื‘-GitHub Actions ืœื›ืจื™ื™ื” ื”ื’ื™ืขื• ืœื ื•ื‘ืžื‘ืจ ื‘ืฉื ื” ืฉืขื‘ืจื”.

GitHub Actions ืžืืคืฉืจ ืœืžืคืชื—ื™ ืงื•ื“ ืœืฆืจืฃ ืžื˜ืคืœื™ื ื›ื“ื™ ืœื”ืคื•ืš ืคืขื•ืœื•ืช ืฉื•ื ื•ืช ืœืื•ื˜ื•ืžื˜ื™ื•ืช ื‘-GitHub. ืœื“ื•ื’ืžื”, ื‘ืืžืฆืขื•ืช GitHub Actions ืืชื” ื™ื›ื•ืœ ืœื‘ืฆืข ื‘ื“ื™ืงื•ืช ื•ื‘ื“ื™ืงื•ืช ืžืกื•ื™ืžื•ืช ื‘ืขืช ื‘ื™ืฆื•ืข, ืื• ืœื”ืคื•ืš ืืช ื”ืขื™ื‘ื•ื“ ืฉืœ ื‘ืขื™ื•ืช ื—ื“ืฉื•ืช ืœืื•ื˜ื•ืžื˜ื™ื•ืช. ื›ื“ื™ ืœื”ืชื—ื™ืœ ื›ืจื™ื™ื”, ืชื•ืงืคื™ื ื™ื•ืฆืจื™ื ืžื–ืœื’ ืฉืœ ื”ืžืื’ืจ ืฉืžืฉืชืžืฉ ื‘-GitHub Actions, ืžื•ืกื™ืคื™ื ืคืขื•ืœื•ืช GitHub ื—ื“ืฉื” ืœืขื•ืชืง ืฉืœื”ื, ื•ืฉื•ืœื—ื™ื ื‘ืงืฉืช ืžืฉื™ื›ื” ืœืžืื’ืจ ื”ืžืงื•ืจื™ ืฉืžืฆื™ืขื” ืœื”ื—ืœื™ืฃ ืืช ื”ืžื˜ืคืœื™ื ื”ืงื™ื™ืžื™ื ื‘-GitHub Actions ื‘-".github/workflows ื”ื—ื“ืฉื™ื /ci.yml" ืžื˜ืคืœ.

ื‘ืงืฉืช ื”ืžืฉื™ื›ื” ื”ื–ื“ื•ื ื™ืช ืžื™ื™ืฆืจืช ื ื™ืกื™ื•ื ื•ืช ืžืจื•ื‘ื™ื ืœื”ืคืขื™ืœ ืืช ื”ืžื˜ืคืœ ื‘-GitHub Actions ืฉืฆื•ื™ืŸ ืขืœ ื™ื“ื™ ื”ืชื•ืงืฃ, ืืฉืจ ืœืื—ืจ 72 ืฉืขื•ืช ืžื•ืคืกืง ืขืงื‘ ืคืกืง ื–ืžืŸ, ื ื›ืฉืœ ื•ืื– ืคื•ืขืœ ืฉื•ื‘. ื›ื“ื™ ืœืชืงื•ืฃ, ืชื•ืงืฃ ืฆืจื™ืš ืจืง ืœื™ืฆื•ืจ ื‘ืงืฉืช ืžืฉื™ื›ื” - ื”ืžื˜ืคืœ ืคื•ืขืœ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ืœืœื ื›ืœ ืื™ืฉื•ืจ ืื• ื”ืฉืชืชืคื•ืช ืฉืœ ืžื ื”ืœื™ ื”ืžืื’ืจ ื”ืžืงื•ืจื™ื™ื, ืฉื™ื›ื•ืœื™ื ืจืง ืœื”ื—ืœื™ืฃ ืคืขื™ืœื•ืช ื—ืฉื•ื“ื” ื•ืœื”ืคืกื™ืง ื›ื‘ืจ ืœื”ืจื™ืฅ ืืช ืคืขื•ืœื•ืช GitHub.

ื‘ืžื˜ืคืœ ci.yml ืฉื ื•ืกืคื• ืขืœ ื™ื“ื™ ื”ืชื•ืงืคื™ื, ื”ืคืจืžื˜ืจ "ื”ืคืขืœื”" ืžื›ื™ืœ ืงื•ื“ ืžืขื•ืจืคืœ (eval "$(echo 'YXB0IHVwZGF0ZSAtโ€ฆ' | base64 -d"), ืืฉืจ, ื›ืืฉืจ ื”ื•ื ืžื•ืคืขืœ, ืžื ืกื” ืœื”ื•ืจื™ื“ ื•ืœื”ืคืขื™ืœ ืืช ืชื•ื›ื ื™ืช ื”ื›ืจื™ื™ื”. ื‘ื’ืจืกืื•ืช ื”ืจืืฉื•ื ื•ืช ืฉืœ ื”ืžืชืงืคื” ืžืžืื’ืจื™ื ืฉื•ื ื™ื ื”ื•ืขืœืชื” ืชื•ื›ื ื™ืช ื‘ืฉื npm.exe ืœ-GitHub ื•-GitLab ื•ื”ื•ืจื›ื‘ื” ืœืงื•ื‘ืฅ ELF ื‘ืจ ื”ืคืขืœื” ืขื‘ื•ืจ Alpine Linux (ื‘ืฉื™ืžื•ืฉ ื‘ืชืžื•ื ื•ืช Docker.) ืฆื•ืจื•ืช ื”ืชืงืคื” ื—ื“ืฉื•ืช ื™ื•ืชืจ ืžื•ืจื™ื“ื•ืช ืืช ื”ืงื•ื“ ืฉืœ XMRig ื’ื ืจื™ ื›ื•ืจื” ืžืžืื’ืจ ื”ืคืจื•ื™ืงื˜ื™ื ื”ืจืฉืžื™, ืฉื ื‘ื ื” ืœืื—ืจ ืžื›ืŸ ืขื ืืจื ืง ื”ื—ืœืคืช ื›ืชื•ื‘ื•ืช ื•ืฉืจืชื™ื ืœืฉืœื™ื—ืช ื ืชื•ื ื™ื.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”