Jenkins и Gitea в docker для изучения и экспериментов

В начале пути DevOps на слуху у многих одни и те же инструменты автоматизации, это Ansible, Jenkins, Gitlab CI/CD, Terraform.
Сегодня хочу оставить небольшую заметку о Jenkins и Gitea. Jenkins очень популярен и если ваша деятельность связана с разработкой/сборкой/деплоеем ПО вы обязательно познакомитесь с Jenkins.


Для изучения и локальных экспериментов с пайплайнами, Jenkins можно развернуть в Docker, а что бы посмотреть как он взаимодействует с SCM(Source control management) можно использовать легкий и быстрый Gitea, а для простоты разворачивания это все объединить в один docker-compose.

infrastructure as code everywhere

Для Gitea нужна бд, будем использовать mariadb, а для Jenkins'a не нужно дополнительных сервисов, он самодостаточен.

docker-compose.yml:
version: '2'
services:
  gitea:
    image: gitea/gitea:latest
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - DB_TYPE=mysql
      - DB_HOST=db:3306
      - DB_NAME=gitea
      - DB_USER=gitea
      - DB_PASSWD=changeme
    volumes:
      - ./gitea:/data
    ports:
      - "3000:3000"
      - "33:22"
    depends_on:
      - db
    restart: always
  db:
    image: mariadb:10
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=changeme
      - MYSQL_DATABASE=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=changeme
    volumes:
      - ./db/:/var/lib/mysql
  jenkins:
      image: jenkins/jenkins:lts
      user: root
      ports:
        - 8080:8080
      volumes:
        - ./jenkins:/var/jenkins_home
        #Если планируете использовать докер агенты
        - /var/run/docker.sock:/var/run/docker.sock 
        - /usr/bin/docker:/usr/local/bin/docker
Создаем в каталоге в котором находится docker-compose.yml три каталога db, gitea, jenkins и запускаем сервисы
mkdir {db,jenkins,gitea}
docker-compose up
Если все поднялось ищем в логах сообщение от Jenkins
jenkins_1  | Jenkins initial setup is required. An admin user has been created and a password generated.
jenkins_1  | Please use the following password to proceed to installation:
jenkins_1  | 
jenkins_1  | 72bf3da885df43c2ae1646f3d7e7ba18
jenkins_1  | 
jenkins_1  | This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
Переходим на http://localhost:8080 и вводим ключ из лога 72bf3da885df43c2ae1646f3d7e7ba18, на следующем шаге устанавливаем «предложенные»(suggested) плагины.



Регистрируем аккаунт администратора



Поздравляю вы запустили jenkins.

Следующий шаг настроить и запустить Gitea.
1. Открываем http://localhost:3000/
2. Жмем регистрация
И заполняем настройки, если ничего не меняли в docker-compose то выставляем следующее:
-Тип базы данных MySQL
-Хост db:3306
-Пользователь gitea
-Пароль changeme
-Имя Бд gitea
-Порт SSH сервера 33

Не забываем добавить учетную запись Администратора(Не может быть admin)



Жмем установить Gitea

Поздравляю вы настроили gitea.

Теперь можно
-создать репозиторий
-добавить туда простенький pipeline
-создать job в Jenkins
-указать созданный репозиторий и pipeline
-Запустить JOB

Но это давайте вы как нибудь сами.

Комментарии ()

    Авторизация

    GitHubGoogleVkontakteYandex
    Есть вопрос или предложение пиши в Telegram @cloudsv

    MTProto прokси для Telegram

    Прямой эфир

    cloudsv 26 октября 2024, 11:31
    MySQL Workbench падает при подключении 4
    Diego mont 25 мая 2023, 07:04
    Полезные боты в Telegram 2
    cloudsv 24 апреля 2023, 17:56
    Обновление Scala Rider G4 52
    cloudsv 12 ноября 2022, 19:16
    Установка и настройка minidlna 3
    cloudsv 03 ноября 2022, 03:42
    Настройка прокси mtproto для Telegram 52
    cloudsv 03 января 2022, 10:50
    Let's Encrypt это легко и просто 4
    cloudsv 05 августа 2020, 11:57
    Мне вчера стукнуло 34 4
    cloudsv 07 августа 2023, 22:56
    Linux Asus ROG x13 flow 2022 GV301RE и Linux 0
    cloudsv 15 апреля 2023, 16:23
    Linux Уведомление о смены workspace в X11 Linux 0
    cloudsv 17 октября 2020, 09:55
    Linux Отключить DHCP IPv6 в systemd 0
    cloudsv 30 июля 2020, 21:54
    О жизни Мне вчера стукнуло 34 4
    cloudsv 15 апреля 2020, 15:45
    Linux Основные hotkeys редактора Vim 0
    cloudsv 01 октября 2019, 08:00
    Linux Локальный редирект порта в Linux 0
    cloudsv 25 августа 2019, 16:14
    О жизни Социальная сеть от Яндекса Aura 0
    cloudsv 30 июля 2019, 21:34
    О жизни 33 year old 0
    cloudsv 25 июня 2019, 18:29
    Telegram Полезные боты в Telegram 2