GitHub ΠΈΡΡΡΠ°ΠΆΡΠ²Π° ΡΠ΅ΡΠΈΡΠ° Π½Π°ΠΏΠ°Π΄ΠΈ Π²ΠΎ ΠΊΠΎΠΈ Π½Π°ΠΏΠ°ΡΠ°ΡΠΈΡΠ΅ ΡΡΠΏΠ΅Π°Π»Π΅ Π΄Π° ΠΌΠΈΠ½ΠΈΡΠ°Π°Ρ ΠΊΡΠΈΠΏΡΠΎΠ²Π°Π»ΡΡΠΈ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π»Π°ΠΊΠΎΡ GitHub ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ GitHub Actions Π·Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π²ΡΡΠ°Ρ Π½ΠΈΠ²Π½ΠΈΠΎΡ ΠΊΠΎΠ΄. ΠΡΠ²ΠΈΡΠ΅ ΠΎΠ±ΠΈΠ΄ΠΈ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° GitHub Actions Π·Π° ΡΡΠ΄Π°ΡΡΡΠ²ΠΎ Π΄Π°ΡΠΈΡΠ°Π°Ρ ΠΎΠ΄ Π½ΠΎΠ΅ΠΌΠ²ΡΠΈ ΠΌΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°.
GitHub Actions ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π΄Π° ΠΏΡΠΈΠΊΠ°ΡΠ°Ρ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΎ GitHub. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° GitHub Actions ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π° ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΡΠΎ ΡΡΠ΄Π°ΡΡΡΠ²ΠΎ, Π½Π°ΠΏΠ°ΡΠ°ΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π°Ρ Π²ΠΈΠ»ΡΡΠΊΠ° ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠΈ GitHub Actions, Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ Π½ΠΎΠ²ΠΈ GitHub Actions Π²ΠΎ Π½ΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΏΠΈΡΠ° ΠΈ ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅ Π΄ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π°Ρ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈ Π½Π° GitHub Actions ΡΠΎ Π½ΠΎΠ²ΠΈΠΎΡ β.github/workflows /ci.ymlβ ΡΠΏΡΠ°Π²ΡΠ²Π°Ρ.
ΠΠ»ΠΎΠ½Π°ΠΌΠ΅ΡΠ½ΠΎΡΠΎ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ΠΊΡΠ°ΡΠ½ΠΈ ΠΎΠ±ΠΈΠ΄ΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ Π½Π° GitHub Actions ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°ΠΏΠ°ΡΠ°ΡΠΎΡ, ΠΊΠΎΡ ΠΏΠΎ 72 ΡΠ°ΡΠ° Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°Ρ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΡΡΠ΅ΠΊ Π½Π° Π²ΡΠ΅ΠΌΠ΅, Π½Π΅ ΡΡΠΏΠ΅Π²Π° ΠΈ ΠΏΠΎΡΠΎΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ. ΠΠ° Π΄Π° Π½Π°ΠΏΠ°Π΄Π½Π΅, Π½Π°ΠΏΠ°ΡΠ°ΡΠΎΡ ΡΡΠ΅Π±Π° ΡΠ°ΠΌΠΎ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅ - ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΏΠΎΡΠ²ΡΠ΄Π° ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠΈ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ, ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ ΡΠ°ΠΌΠΎ Π΄Π° Π·Π°ΠΌΠ΅Π½Π°Ρ ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΈ Π΄Π° ΠΏΡΠ΅ΡΡΠ°Π½Π°Ρ Π΄Π° Π³ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ GitHub Actions.
ΠΠΎ ΡΠ°ΠΊΡΠ²Π°ΡΠΎΡ ci.yml Π΄ΠΎΠ΄Π°Π΄Π΅Π½ ΠΎΠ΄ Π½Π°ΠΏΠ°ΡΠ°ΡΠΈΡΠ΅, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ βrunβ ΡΠΎΠ΄ΡΠΆΠΈ Π·Π°ΠΌΠ°ΡΠ΅Π½ ΠΊΠΎΠ΄ (eval β$(echo 'YXB0IHVwZGF0ZSAtβ¦' | base64 -dβ), ΠΊΠΎΡ, ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ, ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π° Π΄Π° ΡΠ° ΠΏΡΠ΅Π·Π΅ΠΌΠ΅ ΠΈ ΠΈΠ·Π²ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΡΡΠ΄Π°ΡΡΡΠ²ΠΎ. ΠΠΎ ΠΏΡΠ²ΠΈΡΠ΅ Π²Π°ΡΠΈΡΠ°Π½ΡΠΈ Π½Π° Π½Π°ΠΏΠ°Π΄ΠΎΡ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π°ΡΠ΅ΡΠ΅Π½Π° npm.exe Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½Π° Π½Π° GitHub ΠΈ GitLab ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π½Π° Π²ΠΎ ΠΈΠ·Π²ΡΡΠ½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ELF Π·Π° Alpine Linux (ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΡΠ»ΠΈΠΊΠΈΡΠ΅ Π½Π° Docker Π·Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ΄). XMRig ΡΡΠ΄Π°Ρ ΠΎΠ΄ ΠΎΡΠΈΡΠΈΡΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠ΅ ΠΏΠΎΡΠΎΠ° ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° ΡΠΎ Π·Π°ΠΌΠ΅Π½Π° Π·Π° Π°Π΄ΡΠ΅ΡΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ Π·Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΠ·Π²ΠΎΡ: opennet.ru