I-setup ang isang Jenkins Server Gamit ang Docker

I Setup Ang Isang Jenkins Server Gamit Ang Docker



Ang Jenkins ay isang malawak na ginagamit na open-source na automation server na tumutulong na i-automate ang iba't ibang bahagi ng proseso ng pagbuo ng software kabilang ang pagbuo, pagsubok, at pag-deploy ng mga application.

Ang Docker ay isang containerization platform na nagbibigay-daan sa amin na patakbuhin ang mga application at serbisyo sa mga nakahiwalay na kapaligiran na kilala bilang mga container.







Sa tutorial na ito, matututunan natin kung paano pagsamahin ang Jenkins sa Docker na nagbibigay-daan sa amin na lumikha ng isang scalable at portable na server ng Jenkins.



TANDAAN: Sa tutorial na ito, gagamitin namin ang opisyal na larawan ng jenkins/jenkins mula sa repositoryo ng Docker Hub. Ang larawang ito ay naglalaman ng kasalukuyang Long-Term Support (LTS) na release ng Jenkins na handa sa produksyon.



Gumawa ng Network

Ang unang hakbang ay lumikha ng bagong network ng Docker upang ihiwalay ang halimbawa ng Jenkins. Pinapadali nito ang isang mas mahusay na komunikasyon.





Upang lumikha ng isang bridged network sa Docker, maaari naming patakbuhin ang sumusunod na command:

$ gumawa ng jenkins ang network ng docker


Lumilikha ito ng isang bridged network na tinatawag na Jenkins.



Patakbuhin ang Jenkins Docker Container

Kapag na-configure na namin ang network, maaari naming patakbuhin ang lalagyan ng Jenkins gamit ang opisyal na larawan ng Jenkins Docker.

Tinukoy din namin ang network at nag-configure ng volume para sa pagtitiyaga ng data ng Jenkins. Ang utos ay ang mga sumusunod:

docker run \
--pangalan jenkins-docker \
--rm \
--maghiwalay \
--pribilehiyo \
--network jenkins \
--network-alias docker \
--env DOCKER_TLS_CERTDIR = / mga sertipiko \
--volume jenkins-docker-certs: / mga sertipiko / kliyente \
--volume jenkins-data: / ay / jenkins_home \
--publish 2376 : 2376 \
docker:mula sa \
--storage-driver overlay2



Ang nakaraang command ay naglulunsad ng Docker-in-Docker (DinD) container na pinangalanang 'jenkins-docker' na may mataas na mga pribilehiyo at networking configuration.

Tinitiyak ng flag –rm na awtomatikong maaalis ang lalagyan kapag huminto ito. Ang container ay konektado sa Jenkins network na may network alias bilang 'docker' tulad ng ginawa sa nakaraang hakbang.

Pagkatapos ay itinakda namin ang mga variable ng kapaligiran para sa mga certificate ng Docker TLS at i-mount ang mga volume para sa storage ng certificate at data ng Jenkins.

Sa susunod na seksyon, ini-publish namin ang port 2376 para sa komunikasyon ng Docker daemon.

Panghuli, tinukoy namin ang docker:dind image at i-configure ang storage driver para gamitin ang overlay2.

I-access ang Jenkins Web UI

Kapag nasimulan na natin ang lalagyan, maa-access natin ang halimbawa ng Jenkins mula sa isang web browser gamit ang address.

Kung nais mong magpatakbo ng isang simpleng lalagyan ng Jenkins, maaari mong gamitin ang sumusunod na command:

$ tumakbo sa pantalan -d -p 8080 : 8080 -p 50000 : 50000 --pangalan jenkins \
--network jenkins \
-sa jenkins_home: / ay / jenkins_home \
jenkins / jenkins:lts


Pinapatakbo nito ang server ng Jenkins nang hindi kinakailangang i-configure ang iba pang mga tampok tulad ng mga volume, bind port, at higit pa.

Maaari mong i-access ang Jenkins instance sa .


Kapag handa na ang Jenkins, papayagan ka ng iyong browser na mabilis na i-configure ang server ng Jenkins gamit ang mga katangian ayon sa gusto mo.

Kapag na-setup na ito, kailangan mong i-unlock ang Jenkins sa pamamagitan ng pagtukoy sa password ng administrator. Mahahanap mo ito sa pamamagitan ng pagpapatakbo ng sumusunod na command:

$ ni-log ng docker si jenkins


Ipinapakita sa iyo ng command ang mga log para sa container na kinabibilangan ng Jenkins password.




Ang susunod na hakbang ay piliin at i-install ang mga plugin na gusto mong gamitin para sa iyong Jenkins instance. Kung gumagamit ka ng Jenkins sa unang pagkakataon, piliin ang mga inirerekomendang plugin.


Dapat nitong payagan si Jenkins na i-download at i-install ang lahat ng default na plugin na nagbibigay-daan sa iyong makipag-ugnayan sa mga pipeline ng Jenkins nang madali.

Konklusyon

Sa tutorial na ito, natutunan mo kung paano ka makakapag-set up ng isang Jenkins server bilang container gamit ang Docker at ang opisyal na larawan ng Jenkins.