jenkins-ssh-agent-jdk17-dind/README.md
amorozov 12bbeeb5fa
Some checks failed
Gitea/docker-base-images/jenkins-ssh-agent-jdk17-dind/pipeline/head There was a failure building this commit
chore: updated README
2025-03-03 02:23:47 +03:00

55 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Склейка DinD и Jenkins SSH Agent.
- Берем [Jenkins SSH Agent](https://github.com/jenkinsci/docker-ssh-agent), а именно [Alpine Dockerfile](https://github.com/jenkinsci/docker-ssh-agent/blob/master/alpine/Dockerfile)
- Изменяем базовый образ на `docker:dind` (по-умолчанию он на базе alpine)
- Добавляем в `Dockerfile` под создание пользователя `jenkins` строки:
```Dockerfile
RUN addgroup docker || true && \
addgroup ${user} docker
```
- В `setup-sshd` вписываем строки:
```shell
# dockerd's patch
dockerd-entrypoint.sh &
```
- Собираем, тэгаем и пушим
# Как использовать:
## Запуск агента
Генерируем новую пару SSH ключей.
```shell
```
Желательно установить [SysBox](https://github.com/nestybox/sysbox/releases/tag/v0.6.6), без него придется делать контейнер с агентом привилегированным.
Берем `docker-compose.yml` файл:
```yaml
version: '3.7'
services:
jenkins-agent:
image: git.tswf.io/docker-base-images/jenkins-ssh-agent-jdk17-dind:1.0.4
restart: always
# Используем, если не хотим делать контейнер привилегированным
runtime: sysbox-runc
# Если не используем SysBox, а зря :c
#privileged: true
ports:
- "31674:22"
environment:
JENKINS_AGENT_SSH_PUBKEY: "<YOR_SSH_PUBLIC_KEY_HERE>"
```
и заменяем `<YOR_SSH_PUBLIC_KEY_HERE>` на сгенеренный публичный ключ
Запускаем агента:
```shell
docker compose up -d
```
## Настройки Jenkins
Смотри [описание агента](AGENT.README.md)