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

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

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

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

    MTProto прokси для Telegram

    Прямой эфир

    cloudsv 10 сентября 2020, 13:17
    MySQL Workbench падает при подключении 2
    cloudsv 31 августа 2020, 15:55
    Let's Encrypt это легко и просто 2
    cloudsv 05 августа 2020, 11:57
    Мне вчера стукнуло 34 4
    Алексей 19 июня 2020, 15:06
    Обновление Scala Rider G4 34
    Tmks 24 января 2020, 01:05
    Настройка прокси mtproto для Telegram 50
    cloudsv 26 октября 2019, 20:11
    Linux I/O Scheduler, для кого какой? 2
    alex 26 февраля 2019, 11:28
    Установка и настройка minidlna 1
    Георгий 18 декабря 2018, 09:13
    Пароль от резервной копии Bitrix 2
    cloudsv 31 июля 2020, 00:54
    О жизни Мне вчера стукнуло 34 4
    cloudsv 15 апреля 2020, 18:45
    Arch Linux Основные hotkeys редактора Vim 0
    cloudsv 01 октября 2019, 11:00
    Arch Linux Локальный редирект порта в Linux 0
    cloudsv 25 августа 2019, 19:14
    О жизни Социальная сеть от Яндекса Aura 0
    cloudsv 31 июля 2019, 00:34
    О жизни 33 year old 0
    cloudsv 25 июня 2019, 21:29
    Telegram Полезные боты в Telegram 0