Добавлены файлы playbook и inventory

pull/1/head
root 2025-01-14 14:58:08 +03:00
commit a9f8c13e80
2 changed files with 175 additions and 0 deletions

10
inventory.ini Normal file
View File

@ -0,0 +1,10 @@
$ANSIBLE_VAULT;1.1;AES256
36326338343966663165373732326261623264396335386137356339363562353364373434313938
3335353137343230306563623464336630343532353035610a383736643433376133393038623135
34313638383030613464366537653735613166353264646263643433613161393666356461666633
3331366464393830620a313566623035636337323864393366316334343063323761626462303936
64626530663763336436396164363931393034353834666538383761303634666531396464316430
63646438633062303363383135396662653733336330353462663433306534383936373334386466
65303034323436363830383361366535663238316561393365353864323337666330326635323261
31306265326362653835633839343961646265643730333961616633316136313832303730373362
66373532333634373165336665303363663565643833333230616332643866323562

165
jenkins-install.yml Normal file
View File

@ -0,0 +1,165 @@
- name: Установка Jenkins с использованием Docker и Docker Compose
hosts: jenkins-hosts
become: true
tasks:
- name: Обновление списка пакетов
apt:
update_cache: yes
- name: Установка зависимостей для добавления репозитория
apt:
name:
- ca-certificates
- curl
state: present
- name: Добавить ключ GPG Docker
shell: |
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
args:
executable: /bin/bash
- name: Добавить репозиторий Docker
shell: |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list
- name: Обновление пакетов после добавления репозитория
apt:
update_cache: yes
- name: Установить Docker с фиксированной версией
shell: |
VERSION_STRING=5:27.3.1-1~debian.12~bookworm
apt-get install -y docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
args:
executable: /bin/bash
- name: Создание директории для Jenkins
file:
path: /mnt/fs/docker/jenkins
state: directory
mode: '0777'
- name: certs
file:
path: /mnt/fs/docker/jenkins/certs
state: directory
mode: '0777'
- name: jenkins-data
file:
path: /mnt/fs/docker/jenkins/jenkins-data
state: directory
mode: '0777'
- name: jenkins-blue-ocean
file:
path: /mnt/fs/docker/jenkins/jenkins-blue-ocean
state: directory
mode: '0777'
- name: jenkins-docker-certs
file:
path: /mnt/fs/docker/jenkins/jenkins-docker-certs
state: directory
mode: '0777'
- name: Создание Dockerfile для Jenkins Blue Ocean
copy:
dest: /mnt/fs/docker/jenkins/jenkins-blue-ocean/Dockerfile
content: |
FROM jenkins/jenkins:2.479.1-jdk17
USER root
RUN apt-get update && apt-get install -y \
lsb-release \
curl \
gnupg2 \
ca-certificates \
sudo \
build-essential \
nano \
iputils-ping \
curl \
libssl-dev \
&& apt-get clean
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
- name: Создание файла docker-compose.yml для jenkins
copy:
dest: /mnt/fs/docker/jenkins/docker-compose.yml
content: |
version: '3.8'
services:
jenkins-docker:
image: docker:dind
container_name: jenkins-docker
restart: on-failure
privileged: true
networks:
jenkins:
aliases:
- docker
environment:
- DOCKER_TLS_CERTDIR=/certs
volumes:
- /mnt/fs/docker/jenkins/jenkins-docker-certs:/certs/client
- /mnt/fs/docker/jenkins/jenkins-data:/var/jenkins_home
- /mnt/fs/docker/jenkins/certs:/usr/local/share/ca-certificates/
ports:
- "2376:2376"
extra_hosts:
- "registry.entcor:192.168.2.51"
- "git.entcor:192.168.2.61"
jenkins-blueocean:
build:
context: ./jenkins-blue-ocean
dockerfile: Dockerfile
container_name: jenkins-blueocean
restart: on-failure
networks:
- jenkins
environment:
- DOCKER_HOST=tcp://docker:2376
- DOCKER_CERT_PATH=/certs/client
- DOCKER_TLS_VERIFY=1
volumes:
- /mnt/fs/docker/jenkins/jenkins-data:/var/jenkins_home
- /mnt/fs/docker/jenkins/jenkins-docker-certs:/certs/client:ro
ports:
- "8080:8080"
- "50000:50000"
extra_hosts:
- "registry.entcor:192.168.2.51"
- "git.entcor:192.168.2.61"
depends_on:
- jenkins-docker
networks:
jenkins:
driver: bridge
- name: Запуск контейнеров
shell: docker compose up -d
args:
chdir: /mnt/fs/docker/jenkins