Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
предисловие
Всем привет! я фронтендбезымянный
задний план
В последние несколько лет, как новичок, мне нужно было только писать интерфейсный код для душевного спокойствия.Развертывание внешнего кода напрямую передается операционному и обслуживающему персоналу для развертывания, а также серверу для развертывания. , нам не нужно заботиться об этом.
Внезапно эксплуатационный и обслуживающий персонал уволился.Другого пути нет.Бизнесу нужно начинать другой проект.Без эксплуатационного и обслуживающего персонала мы можем только компилировать его каждый раз локально,а потом вручную синхронизировать с директорией сервера,что утомляет! Устал искать решение.
GitLab CI
Часто в нашем проекте присутствует файл .yml, и многие не знают, для чего этот файл.
GitLab CI/CD (далее GitLab CI) — система CI/CD на базе GitLab, которая позволяет разработчикам настраивать процесс CI/CD в проекте через .gitlab-ci.yml, после отправки система может автоматически /вручную для выполнения задач и выполнения операций CI/CD.
Проще говоря, функция этого yml-файла заключается в том, что после того, как мы отправим код в GitLab, GitLab CI автоматически прочитает содержимое в yml-файле и выполнит соответствующие операции. Gitlab — это просто репозиторий кода, для реализации CI/CD нам нужно установить gitlab-runner. gitlab-runner эквивалентен исполнителю задач.
Загрузить и установить
Например устанавливаем git-runner на тестовый сервер (9.138)
Сначала скачиваем и устанавливаем git-runner
# 下载
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
# 给予执行权限
sudo chmod +x /usr/local/bin/gitlab-runner
# 创建一个CI用户
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
# 安装并且运行服务
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
зарегистрировать бегуна
средство просмотра gitLab
Используйте зарегистрированный бегун
Напишите файл .gitlab-ci.yml, сначала разберитесь с некоторыми основными понятиями.
1. Pipeline
Конвейер фактически эквивалентен задаче сборки, которая может содержать несколько процессов, таких как установка зависимостей, запуск тестов, компиляция, развертывание тестовых серверов и развертывание рабочих серверов. Любой коммит или мерж-реквест может инициировать конвейер, как показано на следующем рисунке:
2. Stages
Этапы представляют этап строительства, который является процессом, упомянутым выше. Мы можем определить несколько этапов в конвейере, эти этапы будут иметь следующие характеристики:
- Все этапы будут проходить по порядку, то есть, когда один этап будет завершен, начнется следующий этап.
- Задача сборки (конвейер) будет успешной только после завершения всех этапов.
- Если какой-либо этап завершается сбоем, последующие этапы не будут выполняться, а задача сборки (конвейер) завершится сбоем.
Таким образом, отношения между этапами и конвейером:
2. Jobs
Задания представляют собой строительные работы и представляют работу, выполняемую на этапе. Мы можем определить несколько заданий на этапах, и эти задания будут иметь следующие характеристики:
- Задания на одном этапе будут выполняться параллельно
- Стадия будет успешной только тогда, когда все задания на одной и той же стадии будут успешно выполнены.
- Если какое-либо задание дает сбой, то происходит сбой этапа, то есть задача сборки (конвейер) завершается с ошибкой.
Итак, диаграмма отношений между Джобсом и Стадией:
Напишем простой .gitlab-ci.yml
Уведомление
Для установки серверов git-runner необходимо установить git, иначе вы можете увидеть некоторые ошибки:
послесловие
Ваши комментарии приветствуются. Шаблон проекта постоянно оптимизируется, пожалуйста, лайкните один раз! Комментарии приветствуются.