Skip to main content

Обзор

Jenkins — open-source сервер автоматизации сборки и деплоя. Запускается у тебя или в корпоративной сети. Конфигурация как код — Jenkinsfile (Declarative или Scripted Pipeline).

Основные понятия

  • Controller — центральный сервер Jenkins (UI, планирование).
  • Agent — нода, на которой выполняются шаги пайплайна.
  • Pipeline — последовательность stages (build, test, deploy).
  • Plugins — интеграции с Git, Docker, K8s, облаками и т.д.

Пример Declarative Pipeline

pipeline {
  agent any
  stages {
    stage('Build') {
      steps {
        sh 'npm ci'
        sh 'npm run build'
      }
    }
    stage('Test') {
      steps {
        sh 'npm test'
      }
    }
    stage('Deploy') {
      when { branch 'main' }
      steps {
        sh './deploy.sh'
      }
    }
  }
  post {
    failure { slackSend channel: '#builds', message: "Build failed: ${env.JOB_NAME}" }
  }
}

Полезные темы

Java, установка Jenkins (пакет или Docker), unlock, установка плагинов, создание admin.
Credentials в Jenkins; использование в пайплайне (credentials(), withCredentials).
Плагин Kubernetes: агенты как поды в K8s; Docker pipeline для сборки образов.
Multibranch Pipeline — один Jenkinsfile на репо, сборки по веткам и PR.

Что добавить сюда

  • Свои Jenkinsfile для типовых проектов
  • Список полезных плагинов
  • Ссылки на документацию и примеры