Добавлены файлы 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