Что такое Jenkins?

время 3 МИН
звезда звезда звезда ЛЕГКО
Ос­но­вы
Jenkins
CI/CD
Ав­то­ма­ти­за­ция

Эта ста­тья для тех, кто хочет по­нять, зачем нужна ав­то­ма­ти­за­ция про­цес­са раз­ра­бот­ки в общем и Jenkins в част­но­сти.

Jenkins это при­ло­же­ние с веб-​интерфейсом, ко­то­рое по­мо­га­ет ав­то­ма­ти­зи­ро­вать ру­тин­ные за­да­чи, воз­ни­ка­ю­щие в про­цес­се раз­ра­бот­ки, на­при­мер:

Сбор­ка при­ло­же­ния. Пре­об­ра­зо­ва­ние человеко-​понятного кода в машино-​понятные файлы (имеет смысл для ком­пи­ли­ру­е­мых язы­ков) и упа­ков­ка в архив с ука­за­ни­ем но­ме­ра вер­сии

За­груз­ка со­бран­ных ар­те­фак­тов в хра­ни­ли­ще. Тут можно хра­нить ис­то­рию вер­сий и брать нуж­ную для раз­вер­ты­ва­ния на окру­же­ни­ях

Про­вер­ка стиля на­пи­са­ния кода. На со­от­вет­ствие при­ня­тым пра­ви­лам (ста­ти­че­ски­ми ана­ли­за­то­ра­ми)

Ска­ни­ро­ва­ние на уяз­ви­мо­сти. Кода и за­ви­си­мо­стей (сто­рон­них биб­лио­тек)

За­пуск ав­то­те­стов. Чтобы ми­ни­ми­зи­ро­вать ве­ро­ят­ность по­яв­ле­ния оши­бок в ре­зуль­та­те ре­а­ли­за­ции но­во­го функ­ци­о­на­ла.

Оцен­ка по­кры­тия кода те­ста­ми. Счи­та­ет­ся, что чем боль­ше кода по­кры­то те­ста­ми, тем лучше. Так можно, за­пу­стив тесты, уви­деть, какие строч­ки кода вы­пол­ня­лись, а какие нет. Если не вы­пол­ня­лись, зна­чит тесты их не за­де­ли, и, в тео­рии, если там есть ошиб­ка, то она может быть про­пу­ще­на.

Раз­вер­ты­ва­ние при­ло­же­ния. Взять ар­те­факт нуж­ной вер­сии из хра­ни­ли­ща и раз­ме­стить на тре­бу­е­мом окру­же­нии, а также скон­фи­гу­ри­ро­вать для ра­бо­ты имен­но на этом окру­же­нии

Jenkins имеет смысл уста­нав­ли­вать цен­тра­ли­зо­ван­но на от­дель­ной ма­шине/сер­ве­ре/сер­ве­рах, чтобы не за­ни­мать ре­сур­сы пер­со­наль­но­го ком­пью­те­ра. Вся ко­ман­да или даже целая ор­га­ни­за­ция может поль­зо­вать­ся одним и тем же Jenkins, его под­держ­кой, как пра­ви­ло, за­ни­ма­ет­ся отдел под­держ­ки/си­стем­ные ад­ми­ни­стра­то­ры. Но для изу­че­ния можно легко уста­но­вить и на своей ма­шине.

Все опи­сан­ные выше шаги нужно де­лать для того, чтобы управ­лять ка­че­ством про­ек­та в ши­ро­ком смыс­ле. Хо­ро­шо на­пи­сан­ный код удоб­нее под­дер­жи­вать, а зна­чит и быст­рее на­ра­щи­вать новый функ­ци­о­нал. Про­гон те­стов - ми­ни­ми­зи­ру­ет ве­ро­ят­ность, что ошиб­ки дой­дут до ко­неч­но­го поль­зо­ва­те­ля. Ав­то­ма­ти­за­ция нужна для уско­ре­ния и уде­шев­ле­ния про­цес­са, а так же для ис­клю­ю­че­ния че­ло­ве­че­ско­го фак­то­ра, ведь так легко за­быть во­вре­мя вы­пол­нить опре­де­лен­ные шаги или про­сто по­ле­нить­ся.

Спа­си­бо, что за­гля­ну­ли,
до­бав­ляй­тесь в Telegram канал и будь­те в курсе но­ви­нок.
Если Вам было ин­те­рес­но, мо­же­те под­дер­жать ав­то­ра

Что еще по­чи­тать?

Что такое Jenkins-​пайплайны?

2023, 19 АВ­ГУ­СТА
время 5 МИН
звезда звезда звезда СРЕДНЕ
Jenkins
CI/CD
Ав­то­ма­ти­за­ция
Рас­ска­зы­ваю, как пра­виль­но го­то­вить Jenkins. В этой ста­тье раз­бе­рем, как имен­но де­лать ав­то­ма­ти­за­цию сбо­рок в Jenkins, по­де­люсь луч­ши­ми прак­ти­ка­ми

Как пишут про­грам­мы?

2023, 19 АВ­ГУ­СТА
время 4 МИН
звезда звезда звезда ЛЕГКО
Ос­но­вы
Рас­ска­жу о про­ессе раз­ра­бот­ке про­грамм­но­го обес­пе­че­ния
на глав­ную