Автоматическое развертывание оптимизирует ваш рабочий процесс и процессы. Этот учебник Gitlab помогает вам научиться настраивать конвейер непрерывного развертывания, используя Gitlab CI/CD.

Gitlab непрерывное развертывание

Обзор

В последних нескольких статьях мы узнали о Основаниях контроля версий, а затем мы улучшили наши знания, узнав о различных моделях ветвления и рабочих процессах. Система управления версиями принесла эффективность в мире развития, развертывания и интеграции. Разработчики считают очень легко совершать исходный код, не беспокоясь о сборках и тестах. Индустрия программного обеспечения приобрела уверенность и конкурентное преимущество, поскольку этот подход загрузил развертывание. Непрерывное развертывание Gitlab и интеграция помогает легко найти проблемы. Более того, разработчики могут отслеживать ошибки и другие промальные обработки за более короткий промежуток времени. Весь этот процесс автоматизации дает свободу от задач, которые часто происходят и уменьшают рабочую силу и шансы на ошибки. Сегодня в этом сообщении мы рассмотрим конвейер непрерывного развертывания с Gitlab CI/CD. Итак, давайте начнем с того, что рассмотрим следующие очки!

Что такое CI & CD

Непрерывная интеграция (CI) является одной из лучших практик DevOps по автоматизации интеграции изменений кода от нескольких участников в единый программный проект. Это позволяет разработчикам часто объединять изменения кода в центральный репозиторий, где затем запускаются сборки и тесты. Непрерывное развертывание (CD) перемещается на один шаг дальше, автоматически развернув код в целевую среду (производство или постановку) после того, как каждый код совершает и строится. Прежде чем начать, убедитесь, что у вас есть проект в Gitlab, для которого вы хотели бы использовать CI/CD. И у вас должен быть доступ по игласу или на уровне владельца к проекту.

Что такое бегун Gitlab

После понимания Gitlab непрерывное развертывание , Gitlab Runner - это небольшая легкая программа, написанная в GO, которая запускает задания, связанные с непрерывной интеграцией (CI) на вашей локальной машине и отправляет результаты Gitlab, чтобы рассмотреть изменения. Это единственный исполняемый двоичный файл, который может быть установлен на любой крупной ОС. Прежде чем мы движемся вперед с Gitlab CI / CD, вам нужно убедиться, что у вас есть бегуны, чтобы выполнить ваши задачи. Вы можете следовать официальному руководству по установке и Register Gitlab Runner.

.gitlab-ci.yml файл

. Gitlab-ci.yml-это файл, в котором вы настраиваете конкретные инструкции для Gitlab Ci/CD. Он помещается в корень вашего репозитория и содержит определения того, как должен быть построен ваш проект. Каждый раз, когда мы подталкиваем к нашему экземпляру Gitlab, Gitlab вызывал бегуна для создания и тестирования проекта, как указано в этом файле.

Создать пример приложения

В разделе этого Gitlab Tutorial мы создадим образец приложения. Предполагая, что вы уже создали репозиторий Gitlab, давайте создадим приложение, и мы настроим процесс CI / CD для приложения. Прежде всего, создать файл package.json в корне вашего проекта

{
  "name": "sample_web_app",
  "version": "1.0.0",
  "description": "Sample Application",
  "author": "Assad",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "^4.16.1"
  }
}

Теперь создайте app.js в корне вашего проекта

const express = require('express');

const app = express();
app.get('/', (req, res) => {
  res.send('Hello world\n');
});

app.listen(8080, 'localhost');
console.log('Running on http://localhost:8080');

На последнем этапе gitlab непрерывное развертывание,СоздайтеDockerfile и добавьте в него следующее содержимое:

FROM node:10

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
COPY package*.json ./

RUN npm install

# Bundle app source
COPY . .

EXPOSE 8080
CMD [ "node", "app"]

Dockerfile содержит процесс сборки для этого приложения. Это включает в себя создание контейнера узла и установка зависимостей. Теперь нам нужно создать файл . Gitlab-ci.yml . Этот файл будет содержать инструкции по созданию нашего проекта. Каждый раз, когда мы подталкиваем к нашему репозиторию Gitlab, Gitlab вызывает бегуна для создания проекта.

image: node:latest
stages:
- build

install_dependencies:
stage: build
script:
- npm install

У нас есть только одна сценическая сборка, и она имеет только NPM установить в качестве сценария. Это команда, которую вам придется вручную запускать каждый раз, когда в ваш проект приходит изменения. И именно здесь появляется бегун Gitlab и будет делать это для вас автоматически каждый раз, когда вы делаете коммит. Теперь предполагая, что вы уже установили бегун Gitlab, а также зарегистрировали его с вашим экземпляром Gitlab, мы можем проверить Gitlab CI / CD в действии, сделав простую коммиту применения и подтолкнув его к Gitlab. Затем вы можете открыть свой проект в Gitlab, перейти к My-Project → Cipeline, и вы увидите тег, который с надписью «Прошел» рядом с коммитом, который вы сделали. Последующие коммиты также будут иметь теги.

Заключение

Это подводит нас к концу этого Gitlab Tutorial. В этой статье мы узнали о основаниях непрерывной интеграции Gitlab, Что такое CI & CD , Что такое Gitlab Runner и непрерывное развертывание. Кроме того, мы изучили то, что использует бегунов в общем рабочем процессе CI / CD. Мы также создали образец проекта, который объясняет, как настроить непрерывное развертывание с помощью Gitlab. Этот учебник Gitlab действительно поможет вам, если вы ищете Gitlab непрерывное развертывание . Тем не менее, есть много других ресурсов, упомянутых в разделе «Исследовать» ниже, которые вы можете проверить. Кроме того, статьи осистемах управления версиями , которые являются открытыми, самостоятельными и расширяемыми. Наконец, Containerize.com постоянно пишет посты в блоге на дополнительные продукты и темы с открытым исходным кодом. Поэтому, пожалуйста, оставайтесь на связи с категорией 1112 для регулярных обновлений. Более того, вы можете подписаться на нас в наших учетных записях в социальных сетях Facebook, LinkedIn и Twitter.

Исследовать

Вы можете найти следующие ссылки актуальными: