рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╕рд╛рдареА CICD: рддреЗрдереЗ рдХреЛрдгрддреА рд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдХреЗрд╡рд│ рдореЛрдареНрдпрд╛ рдЖрдгрд┐ рд╕реБрдкреНрд░рд╕рд┐рджреНрдз рдХрдВрдкрдиреНрдпрд╛ рддреЗ рдХрд╛ рд╡рд╛рдкрд░рдд рдирд╛рд╣реАрдд

CICD рдЯреВрд▓реНрд╕рдЪреЗ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЕрдиреЗрдХрджрд╛ рдореЛрдареНрдпрд╛ рдХрдВрдкрдиреНрдпрд╛рдВрдирд╛ рдХреНрд▓рд╛рдпрдВрдЯ рдореНрд╣рдгреВрди рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛рдд - Microsoft, Oculus, Red Hat, рдЕрдЧрджреА рдлреЗрд░рд╛рд░реА рдЖрдгрд┐ NASA. рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдЕрд╕реЗ рдмреНрд░рдБрдб рдХреЗрд╡рд│ рдорд╣рд╛рдЧрдбреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рдЬреЗ рдХрд╛рд╣реА рд╡рд┐рдХрд╛рд╕рдХ рдЖрдгрд┐ рдбрд┐рдЭрд╛рдЗрдирд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд▓рд╛ рдкрд░рд╡рдбрдд рдирд╛рд╣реАрдд. рдкрд░рдВрддреБ рд╕рд╛рдзрдирд╛рдВрдЪрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧ рд▓рд╣рд╛рди рд╕рдВрдШрд╛рдВрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ.

рдЖрдкрдг рдЦрд╛рд▓реА рдХрд╛рдп рд▓рдХреНрд╖ рджреЗрдК рд╢рдХрддрд╛ рддреЗ рдЖрдореНрд╣реА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕рд╛рдВрдЧреВ.

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╕рд╛рдареА CICD: рддреЗрдереЗ рдХреЛрдгрддреА рд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдХреЗрд╡рд│ рдореЛрдареНрдпрд╛ рдЖрдгрд┐ рд╕реБрдкреНрд░рд╕рд┐рджреНрдз рдХрдВрдкрдиреНрдпрд╛ рддреЗ рдХрд╛ рд╡рд╛рдкрд░рдд рдирд╛рд╣реАрдд
╨д╨╛╤В╨╛ - Csaba Balazs - рдЕрдирд╕реНрдкреНрд▓реЕрд╢

PHP рд╕реЗрдиреНрд╕рд░

рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реАрдЖрдп рд╕рд░реНрд╡реНрд╣рд░ рдЬреЛ PHP рдордзреНрдпреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рддреЛ. рд╣рд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рдПрдХ рдХрд╛рдЯрд╛ рдЖрд╣реЗ PHPCI. PHPCI рд╕реНрд╡рддрдГ рдЕрдЬреВрдирд╣реА рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдкреВрд░реНрд╡реАрд╕рд╛рд░рдЦреЗ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рдирд╛рд╣реА.

PHP рд╕реЗрдиреНрд╕реЙрд░ GitHub, GitLab, Mercurial рдЖрдгрд┐ рдЗрддрд░ рдЕрдиреЗрдХ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддреЛ. рдХреЛрдб рдЪрд╛рдЪрдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЯреВрд▓ Atoum, PHP Spec, Behat, Codeception рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рддреЗ. рдпреЗрдереЗ рдЙрджрд╛рд╣рд░рдг рдлрд╛рдЗрд▓ рдкрд╣рд┐рд▓реНрдпрд╛ рдХреЗрд╕рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

рдорд╛рдирд▓реА рдЬрд╛рддреЗрд▓рд╣рд╛рди рдкреНрд░рдХрд▓реНрдк рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА PHP рд╕реЗрдиреНрд╕рд░ рдпреЛрдЧреНрдп рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рд╕реНрд╡рддрдГ рд╣реЛрд╕реНрдЯ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ (рд╕реНрд╡рдпрдВ-рд╣реЛрд╕реНрдЯ рдХреЗрд▓реЗрд▓реЗ). рд╣реЗ рдХрд╛рд░реНрдп рдмрд░реНтАНрдпрд╛рдкреИрдХреА рддрдкрд╢реАрд▓рд╡рд╛рд░ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рджреНрд╡рд╛рд░реЗ рд╕реБрд▓рдн рдХреЗрд▓реЗ рдЖрд╣реЗ - рддреЗ GitHub рд╡рд░ рдЖрд╣реЗ.

рд░реЗрдХреНрд╕

рд░реЗрдХреНрд╕ рд░рд┐рдореЛрдЯ рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рдирд╕рд╛рдареА рд▓рд╣рд╛рди рдЖрд╣реЗ. рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдордзреАрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрднрд┐рдпрдВрддрд╛ рдлреЗрд░реЗрдВрдХ рдПрд░рдХреА рдпрд╛рдВрдиреА рд╣реА рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реА рд╣реЛрддреА. рд░реЗрдХреНрд╕ рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЯреВрд▓рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рд╣реА рднрд╛рд╖рд╛ рдЬрд╛рдгреВрди рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА - рдмрд╣реБрддреЗрдХ рдСрдкрд░реЗрд╢рдиреНрд╕ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдлрд╛рдпрд▓реА рдХреЙрдкреА рдХрд░рдгреЗ) рдлрдВрдХреНрд╢рди рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╣реБрддреЗрдХрджрд╛ рджрд╣рд╛ рдУрд│реАрдВрдордзреНрдпреЗ рдмрд╕рддрд╛рдд. рдПрдХрд╛рдзрд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рд▓реЙрдЧ рдЗрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЕрдкрдЯрд╛рдЗрдо рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдпреЗрдереЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

рдЖрдореНрд╣реА рдпрд╛рд╕рд╣ рдЯреВрд▓рд╕рд╣ рдЖрдкрд▓реА рдУрд│рдЦ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ рдЕрдзрд┐рдХреГрдд рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ ╨╕ рдИ-рдкреБрд╕реНрддрдХ, рдЬреЗ рд╕рдзреНрдпрд╛ рдкреВрд░реНрдг рд╣реЛрдд рдЖрд╣реЗ.

рдУрдкрди рдмрд┐рд▓реНрдб рд╕рд░реНрд╡реНрд╣рд┐рд╕ (OBS)

рд╡рд┐рддрд░рдгрд╛рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рд╣реЗ рдПрдХ рд╡реНрдпрд╛рд╕рдкреАрда рдЖрд╣реЗ. рддреНрдпрд╛рдЪрд╛ рдХреЛрдб рдЦреБрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдпреЗрдереЗ рдЖрд╣реЗ GitHub. рдЯреВрд▓рдЪрд╛ рд▓реЗрдЦрдХ рдХрдВрдкрдиреА рдЖрд╣реЗ рдХрд╛рджрдВрдмрд░реА. рддрд┐рдиреЗ SuSE рд╡рд┐рддрд░рдгрд╛рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдд рднрд╛рдЧ рдШреЗрддрд▓рд╛ рдЖрдгрд┐ рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд▓рд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдУрдкрдирдПрд╕рдпреВрдПрд╕рдИ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдЕрд╕реЗ рдореНрд╣рдгрддрд╛рдд. рдУрдкрди рдмрд┐рд▓реНрдб рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдпрд╛рдд рдЖрд╢реНрдЪрд░реНрдп рдирд╛рд╣реА рд╡рд╛рдкрд░рд╛ OpenSUSE, Tizen рдЖрдгрд┐ VideoLAN рдордзреНрдпреЗ рдкреНрд░рдХрд▓реНрдк рдЙрднрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА. рдбреЗрд▓, рдПрд╕рдЬреАрдЖрдп рдЖрдгрд┐ рдЗрдВрдЯреЗрд▓ рджреЗрдЦреАрд▓ рдЯреВрд▓рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд. рдкрд░рдВрддреБ рдирд┐рдпрдорд┐рдд рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдордзреНрдпреЗ рд▓рд╣рд╛рди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд. рд╡рд┐рд╢реЗрд╖рддрдГ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА, рд▓реЗрдЦрдХрд╛рдВрдиреА рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реЗ (рдкреГрд╖реНрда 10) рдкреВрд░реНрд╡рд╕рдВрд░рдЪрд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкреЕрдХреЗрдЬ. рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрдкрдгреЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрд╣реЗ - рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдлрдХреНрдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд┐рдВрд╡рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдкреИрд╕реЗ рдЦрд░реНрдЪ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓.

рдкрд░рдВрддреБ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд, рд╕рд╛рдзрдирд╛рдиреЗ рдХрдзреАрд╣реА рд╡рд┐рд╕реНрддреГрдд рд╕рдореБрджрд╛рдп рдорд┐рд│рд╡рд▓рд╛ рдирд╛рд╣реА. рддрд░реА рддреЛ рд╣реЛрддрд╛ рд▓рд┐рдирдХреНрд╕ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдиреЗрдЯрд╡рд░реНрдХрдЪрд╛ рднрд╛рдЧ, рдУрдкрди рдУрдПрд╕ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рд╣реЗ рдХрдареАрдг рдЕрд╕реВ рд╢рдХрддреЗ рдереАрдореЕрдЯрд┐рдХ рдлреЛрд░рдорд╡рд░ рддреБрдордЪреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЙрддреНрддрд░ рд╢реЛрдзрд╛. рдкрдг Quora рд░рд╣рд┐рд╡рд╛рд╢рд╛рдВрдкреИрдХреА рдПрдХрд╛рдиреЗ рдиреЛрдВрджрд╡рд▓реЗ рдХреА рдордзреНрдпреЗ IRC рдЪреЕрдЯ рдлреНрд░реАрдиреЛрдбрд╡рд░, рд╕рдореБрджрд╛рдпрд╛рдЪреЗ рд╕рджрд╕реНрдп рдЕрдЧрджреА рд╕рд╣рдЬ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрддрд╛рдд. рдЫреЛрдЯреНрдпрд╛ рд╕рдореБрджрд╛рдпрд╛рдЪреА рд╕рдорд╕реНрдпрд╛ рдЬрд╛рдЧрддрд┐рдХ рдирд╛рд╣реА, рдХрд╛рд░рдг рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ рдЕрдзрд┐рдХреГрдд рдХрд╛рдЧрджрдкрддреНрд░рд╛рдВрдордзреНрдпреЗ (PDF рдЖрдгрд┐ EPUB). рдЗрдмрд┐рдб. рд╢реЛрдзреВ рд╢рдХрддреЛ OBS рд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо рдкрджреНрдзрддреА (рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рдкреНрд░рдХрд░рдгреЗ рдЖрд╣реЗрдд).

рд░реБрдВрджреЗрдХ

рдУрдкрди рдЯреВрд▓ (GitHub), рдЬреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░реВрди рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдбрдордзреАрд▓ рдХрд╛рд░реНрдпреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рддреЗ. рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░реНрд╡реНрд╣рд░ рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА Rundeck ControlTier рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдореЕрдиреЗрдЬрдореЗрдВрдЯ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреА "рдореБрд▓рдЧреА" рдЖрд╣реЗ. рд░рдВрдбреЗрдХ 2010 рдордзреНрдпреЗ рддреНрдпрд╛рддреВрди рд╡реЗрдЧрд│реЗ рдЭрд╛рд▓реЗ рдЖрдгрд┐ рдирд╡реАрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реА - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкрдкреЗрдЯ, рд╢реЗрдл, рдЧрд┐рдЯ рдЖрдгрд┐ рдЬреЗрдирдХрд┐рдиреНрд╕рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг.

рдордзреНрдпреЗ рдкреНрд░рдгрд╛рд▓реА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ рд╡реЙрд▓реНрдЯ рдбрд┐рд╕реНрдиреЗ рдХрдВрдкрдиреА, рд╕реЗрд▓реНрд╕рдмреЙрд▓реНрд╕ ╨╕ рддрд┐рдХрд┐рдЯрдорд╛рд╕реНрддрд░. рдкрдг рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╕рд╛рдареАрд╣реА рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдпрд╛рдЪреЗ рдХрд╛рд░рдг рдЕрд╕реЗ рдХреА рд░реБрдВрджреЗрдХрд▓рд╛ Apache v2.0 рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛ рджреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ. рд╢рд┐рд╡рд╛рдп, рд╕рд╛рдзрди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдЕрдЧрджреА рд╕реЛрдкреЗ рдЖрд╣реЗ.

рдПрдХ Reddit рд░рд╣рд┐рд╡рд╛рд╕реА рдЬреНрдпрд╛рдиреЗ Rundeck рд╕рд╣ рдХрд╛рдо рдХреЗрд▓реЗ, рдореНрд╣рдгрддрд╛рдд, рдЬреНрдпрд╛рдиреЗ рдорд╛рдЭреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдмрд╣реБрддреЗрдХ рдЕрдбрдЪрдгреА рд╕реЛрдбрд╡рд▓реНрдпрд╛. рддреНрдпрд╛рдВрдиреА рдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рд▓рд╛ рдорджрдд рдХреЗрд▓реА рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдЖрдгрд┐ рдИ-рдкреБрд╕реНрддрдХреЗ, рд╡рд┐рдХрд╕рдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд.

рдСрдирд▓рд╛рдЗрди рдЯреВрд▓ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдереЛрдбрдХреНрдпрд╛рдд рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рджреЗрдЦреАрд▓ рд╢реЛрдзреВ рд╢рдХрддрд╛:

GoCD

рдУрдкрди рдЯреВрд▓ (GitHub) рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХреЛрдб рдЖрд╡реГрддреНрддреА рдирд┐рдпрдВрддреНрд░рдг. рд╣реЗ рдХрдВрдкрдиреАрдиреЗ 2007 рдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗ рд╣реЛрддреЗ рдереЙрдЯрд╡рд░реНрдХреНрд╕ - рдордЧ рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд▓рд╛ рдХреНрд░реВрдЭ рдореНрд╣рдЯрд▓реЗ рдЧреЗрд▓реЗ.

GoCD рдСрдирд▓рд╛рдЗрди рдХрд╛рд░ рд╡рд┐рдХреНрд░реА рд╕рд╛рдЗрдЯ рдСрдЯреЛрдЯреНрд░реЗрдбрд░, рд╡рдВрд╢рд╛рд╡рд│реА рд╕реЗрд╡рд╛ рдкреВрд░реНрд╡рдЬ рдЖрдгрд┐ рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдкреНрд░рджрд╛рддрд╛ Barclaycard рдордзреАрд▓ рдЕрднрд┐рдпрдВрддреЗ рд╡рд╛рдкрд░рддрд╛рдд. рддрдерд╛рдкрд┐, рд╕рд╛рдзрди рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдПрдХ рдЪрддреБрд░реНрдерд╛рдВрд╢ рдПрдХ рд▓рд╣рд╛рди рд╡реНрдпрд╡рд╕рд╛рдп рддрдпрд╛рд░ рдХрд░рддреЛ.

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдордзреАрд▓ рд╕реЗрд╡реЗрдЪреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдореЛрдХрд│реЗрдкрдгрд╛рджреНрд╡рд╛рд░реЗ рд╕реНрдкрд╖реНрдЯ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ - рддреА Apache v2.0 рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, GoCD рддреНрдпрд╛рдд рдЖрд╣реЗ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рд╕рд╛рдареА рдкреНрд▓рдЧрдЗрди - рдЕрдзрд┐рдХреГрддрддрд╛ рдкреНрд░рдгрд╛рд▓реА рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕. рдЦрд░реА рдпрдВрддреНрд░рдгрд╛ рдЬреЛрд░рджрд╛рд░ рдХреНрд▓рд┐рд╖реНрдЯ рдорд╛рд╕реНрдЯрд░рд┐рдВрдЧрдордзреНрдпреЗ - рдпрд╛рдд рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдСрдкрд░реЗрдЯрд░ рдЖрдгрд┐ рд╕рдВрдШ рдЖрд╣реЗрдд. рддрд╕реЗрдЪ, рдХрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЦрд░рд╛рдм рдЗрдВрдЯрд░рдлреЗрд╕рдмрджреНрджрд▓ рддрдХреНрд░рд╛рд░ рдХрд░рддрд╛рдд рдЖрдгрд┐ рдЧрд░рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧрд╕рд╛рдареА рдПрдЬрдВрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛.

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╕рд╛рдареА CICD: рддреЗрдереЗ рдХреЛрдгрддреА рд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдХреЗрд╡рд│ рдореЛрдареНрдпрд╛ рдЖрдгрд┐ рд╕реБрдкреНрд░рд╕рд┐рджреНрдз рдХрдВрдкрдиреНрдпрд╛ рддреЗ рдХрд╛ рд╡рд╛рдкрд░рдд рдирд╛рд╣реАрдд
╨д╨╛╤В╨╛ - рдореЕрдЯ рд╡рд╛рдЗрд▓реНрдбрдмреЛрд░ - рдЕрдирд╕реНрдкреНрд▓реЕрд╢

рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд░рд╛рд╡ рдордзреНрдпреЗ GoCD рд╡рд╛рдкрд░реВрди рдкрд╣рд╛рдпрдЪреЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░ рд╢реЛрдзреВ рд╢рдХрддрд╛ рдЕрдзрд┐рдХреГрдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг. рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рд╣рд┐рддреАрдЪрд╛ рд╕реНрд░реЛрдд рдореНрд╣рдгреВрди рджреЗрдЦреАрд▓ рдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ GoCD рд╡рд┐рдХрд╕рдХ рдмреНрд▓реЙрдЧ рдореЕрдиреНрдпреБрдЕрд▓ рд╕рд╣ рд╕реЗрдЯрдЕрдк рд╡рд░.

рдЬреЗрдирдХрд┐рдиреНрд╕

рдЬреЗрдирдХрд┐рдиреНрд╕ рд╡реНрдпрд╛рдкрдХрдкрдгреЗ рдУрд│рдЦрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдорд╛рдирд▓реЗ рдЬрд╛рддреЗ CICD рдЪреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдд рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреЗ рдорд╛рдирдХ - рдЕрд░реНрдерд╛рддрдЪ, рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп рд╣реА рдирд┐рд╡рдб рдкреВрд░реНрдгрдкрдгреЗ рдкреВрд░реНрдг рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА. рд╕рд╛рдзрди 2011 рдордзреНрдпреЗ рджрд┐рд╕рд▓реЗ, рд╣реЛрдд рдУрд░реЕрдХрд▓рдХрдбреВрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣рдбрд╕рдирдЪрд╛ рдПрдХ рдХрд╛рдЯрд╛.

рдЖрдЬ рдЬреЗрдирдХрд┐рдиреНрд╕рд╕реЛрдмрдд ╤А╨░╨▒╨╛╤В╨░╤О╤В NASA, Nintendo рдЖрдгрд┐ рдЗрддрд░ рдореЛрдареНрдпрд╛ рд╕рдВрд╕реНрдерд╛рдВрдордзреНрдпреЗ. рддрдерд╛рдкрд┐ 8% рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджрд╣рд╛ рд▓реЛрдХрд╛рдВрдкрд░реНрдпрдВрдд рд▓рд╣рд╛рди рд╕рдВрдШрд╛рдВрд╕рд╛рдареА рдЦрд╛рддреЗ. рдЙрддреНрдкрд╛рджрди рдкреВрд░реНрдгрдкрдгреЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрдгрд┐ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдПрдордЖрдпрдЯреА рдкрд░рд╡рд╛рдиреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд. рддрдерд╛рдкрд┐, рддреБрдореНрд╣рд╛рд▓рд╛ рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕реНрд╡рддрдГ рд╣реЛрд╕реНрдЯ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ - рдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд╡рд╛рджреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рдЕрд╕реНрддрд┐рддреНрд╡рд╛рд╡рд░, рддреНрдпрд╛рдЪреНрдпрд╛рднреЛрд╡рддреА рдПрдХ рдореЛрдард╛ рд╕рдореБрджрд╛рдп рддрдпрд╛рд░ рдЭрд╛рд▓рд╛ рдЖрд╣реЗ. рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рдереНрд░реЗрдбреНрд╕рд╡рд░ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдд рдкрдВрдЪрдХрд░реНрдо ╨╕ рдЧреБрдЧрд▓ рд╕рдореБрд╣. рдЬреЗрдирдХрд┐рдиреНрд╕рд╡рд░реАрд▓ рд╕рд╛рд╣рд┐рддреНрдп рд╣реЗрдмреНрд░реЗрд╡рд░ рджреЗрдЦреАрд▓ рдирд┐рдпрдорд┐рддрдкрдгреЗ рджрд┐рд╕реВрди рдпреЗрддреЗ. рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рдореБрджрд╛рдпрд╛рдЪрд╛ рднрд╛рдЧ рд╡реНрд╣рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдЬреЗрдирдХрд┐рдиреНрд╕рд╕реЛрдмрдд рдХрд╛рдо рд╕реБрд░реВ рдХрд░рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓, рддрд░ рддреЗ рдЖрд╣реЗ рдЕрдзрд┐рдХреГрдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг ╨╕ рд╡рд┐рдХрд╕рдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ. рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдЖрдгрд┐ рдкреБрд╕реНрддрдХреЗ рджреЗрдЦреАрд▓ рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ:

рдЬреЗрдирдХрд┐рдиреНрд╕рдЪреЗ рдЕрдиреЗрдХ рдЙрдкрдпреБрдХреНрдд рд╕рд╛рдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрд╣реЗрдд. рдкреНрд░рдердо рдПрдХ рдкреНрд▓рдЧрдЗрди рдЖрд╣реЗ рдХреЛрдб рдореНрд╣рдгреВрди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди. рд╣реЗ рдЬреЗрдирдХрд┐рдиреНрд╕рд▓рд╛ рд╡рд╛рдЪрдгреНрдпрд╛рд╕ рд╕реБрд▓рдн API рд╕рд╣ рд╕реЗрдЯ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рддреЗ рдЬреЗ рдЯреВрд▓рдЪреЗ рд╕рдЦреЛрд▓ рдЬреНрдЮрд╛рди рдирд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрдирд╛ рджреЗрдЦреАрд▓ рд╕рдордЬреВ рд╢рдХрддреЗ. рджреБрд╕рд░реА рдпрдВрддреНрд░рдгрд╛ рдЖрд╣реЗ рдЬреЗрдирдХрд┐рдиреНрд╕ рдПрдХреНрд╕ рдврдЧ рд╕рд╛рдареА. рд╣реЗ рдХрд╛рд╣реА рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░реВрди рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдЖрдпрдЯреА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╡рд░ рддреИрдирд╛рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рд╕ рдЧрддреА рджреЗрддреЗ.

рдмрд┐рд▓реНрдбрдмреЙрдЯ

рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреЗ рдмрд┐рд▓реНрдб рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдЪрдХреНрд░ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реА рдПрдХ рд╕рддрдд рдПрдХреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ. рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдХреЛрдбрдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рд╡рд░ рддреЗ рдЖрдкреЛрдЖрдк рддреНрдпрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддрдкрд╛рд╕рддреЗ.

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

рдмрд┐рд▓реНрдбрдмреЙрдЯ рджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рд▓реЗ LLVM, MariaDB, рдмреНрд▓реЗрдВрдбрд░ рдЖрдгрд┐ Dr.Web рд╕рд╛рд░рдЦреЗ рдкреНрд░рдХрд▓реНрдк. рдкрд░рдВрддреБ рд╣реЗ wxWidgets рдЖрдгрд┐ Flathub рд╕рд╛рд░рдЦреНрдпрд╛ рд▓рд╣рд╛рди рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдкреНрд░рдгрд╛рд▓реА рд╕рд░реНрд╡ рдЖрдзреБрдирд┐рдХ рд╡реНрд╣реАрд╕реАрдПрд╕рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд╛рдпрдерди рд╡рд╛рдкрд░реВрди рд▓рд╡рдЪрд┐рдХ рдмрд┐рд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрд╣реЗрдд. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛ рд╕рд░реНрд╡рд╛рдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░реЗрд▓. рдЕрдзрд┐рдХреГрдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдЖрдгрд┐ рддреГрддреАрдп-рдкрдХреНрд╖ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпреЗрдереЗ рдПрдХ рд▓рд╣рд╛рди рдЖрд╣реЗ IBM рдореЕрдиреНрдпреБрдЕрд▓.

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

рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдмреНрд▓реЙрдЧрдордзреНрдпреЗ рдЖрдореНрд╣реА рдХрд╛рдп рд▓рд┐рд╣рд┐рддреЛ:

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛