Какво е Jenkins и как да го инсталираме?

21.08.2020 113 0

Едно от големите предизвикателства на всеки софтуерен проект е количеството повтаряеми задачи, които трябва да се направят. Би било чудесно, ако можеше да се автоматизират поне част от тези задачи, нали? Добрата новина е, че това е възможно чрез Jenkins.

Какво е Jenkins? Това е безплатен сървър за автоматизация, базиран на отворен код. Той позволява да се компилира, тества и интегрира софтуер, като автоматизира част от задачите в процеса. Платформата поддържа и множество плъгини, които ви позволяват да добавите инструменти за интеграция и др. С Jenkins разполагате с непрекъсната интеграция и доставка. Всичко това може да звучи сложно, но Jenkins позволява лесна конфигурация чрез удобен уеб интерфейс. Jenkins помага и с проверка за грешки и др. Това е проект, който се движи от общността, така че се развива постоянно и има много локализирани версии и опции.

Как да инсталираме Jenkins?

Jenkins е самостоятелен и базиран на Java. Може да се инсталира на Windows, macOS и различни Unix платформи. Най-популярният и лесният начин е да се инсталира на самостоятелна машина.

Преди да започнем

Трябва да се уверите, че сървърът покрива няколко изисквания. Той трябва да разполага минимум с 256МВ RAM  и 1GB свободно дисково пространство (трябва да са 10GB, ако Jenkins ще се използва като контейнер в Docker).

Силно препоръчително е сървърът да е с 1GB RAM или повече и 50GB или повече дисково място. Така можете да използвате пълноценно всичко, което Jenkins ви предлага.

Има и няколко софтуерни изисквания:

Java трябва да е инсталирана, както и сървърът да разполага с уеб браузър. За Windows инсталация ви трябва 64-битовата версия и е добре тя да е възможно най-актуална.

Docker

Инсталирането на Jenkins на Docker е лесно. Трябва да се изтегли jenkinsci/blueocean архивът от сайта. Той идва с вградени плъгини на Blue Ocean. Издава се нов архив с всяко ново издание на Blue Ocean.

macOS и Linux

Процесът е сходен за двете платформи. Отваря се терминалът и се въвежда тази команда:

docker network create jenkins

След това следват тези двете:

docker volume create jenkins-docker-certs
docker volume create jenkins-data

С тях можете да споделите TLS сертификатите на Docker.

Следва изтегляне и пускане на docker:dind с тази команда:

docker container run \
  --name jenkins-docker \
  --rm \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind

Много от тези параметри са по желание. Може да разберете повече за всеки от тях от официалната документация на Jenkins.

Следва изтегляне на jenkinsci/blueocean архива и да се пусне като контейнер в Docker чрез тази команда за контейнер:

docker container run \
  --name jenkins-blueocean \
  --rm \
  --detach \
  --network jenkins \
  --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client \
  --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 \
  --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  jenkinsci/blueocean

Отново много от параметрите са опционални и информация за тях има в официалната документация.

Инсталация в Windows

Jenkins не идва с отделен архив за Windows. Но ако инсталирате Docker на Windows, може да го конфигурирате да пуска Linux контейнери. Това ще позволи и инсталация на Jenkins. Първите стъпки са същите и трябва да се пуснат тези команди:

docker network create jenkins
docker volume create jenkins-docker-certs
docker volume create jenkins-data

Следва тази команда:

docker container run --name jenkins-docker --rm --detach ^
  --privileged --network jenkins --network-alias docker ^
  --env DOCKER_TLS_CERTDIR=/certs ^
  --volume jenkins-docker-certs:/certs/client ^
  --volume jenkins-data:/var/jenkins_home ^
  docker:dind

А после тази:

docker container run --name jenkins-blueocean --rm --detach ^
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 ^
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 ^
  --volume jenkins-data:/var/jenkins_home ^
  --volume jenkins-docker-certs:/certs/client:ro ^
  --publish 8080:8080 --publish 50000:50000 jenkinsci/blueocean

С това инсталацията е готова.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван.