Добавлены файлы playbook и inventory
commit
a9f8c13e80
|
|
@ -0,0 +1,10 @@
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
36326338343966663165373732326261623264396335386137356339363562353364373434313938
|
||||||
|
3335353137343230306563623464336630343532353035610a383736643433376133393038623135
|
||||||
|
34313638383030613464366537653735613166353264646263643433613161393666356461666633
|
||||||
|
3331366464393830620a313566623035636337323864393366316334343063323761626462303936
|
||||||
|
64626530663763336436396164363931393034353834666538383761303634666531396464316430
|
||||||
|
63646438633062303363383135396662653733336330353462663433306534383936373334386466
|
||||||
|
65303034323436363830383361366535663238316561393365353864323337666330326635323261
|
||||||
|
31306265326362653835633839343961646265643730333961616633316136313832303730373362
|
||||||
|
66373532333634373165336665303363663565643833333230616332643866323562
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
Loading…
Reference in New Issue