Настройка CI/CD для Bitbacket — подробно с картинками

CI/CD — позволяет вам автоматизировать процесс заливки вашего приложения на сервер, т.е. вы локально сделали изменения, с пушили ваши изменения в Bitbacket, сделали апрув вашего pulrequest и изменения автоматическими залились на боевой сервер.

Настройка CI/CD для Bitbacket — подробно с картинками

Contents

Подготовка

И так поехали, что понадобится:

  1. Аккаунт на https://bitbucket.org/
  2. Сервер куда будет происходит автоматический pull (pipelines)

Если у вас нет сервера и вы не знаете как его настроить, то у меня есть подробные инструкции по настройки web сервера на базе ubunty и centos.

Настройка SSH ключей

Запускаем cmd под виндой и вводим команду:

ssh-keygen

Первым делом вас спросить про имя файла, оставляем как есть. Если у вас много проектов на разны git системах, то есть инструкция как можно создать несколько shh ключей разных репозиториев.

Затем пароль и еще раз пароль — лучше не устанавливать дабы не вводить его каждый раз.

Ключи у вас должны появится в папке  %userprofile%\.ssh

Настройка Bitbacket

Первым делом создаем проект. Затем жмем на ваш аватар, personal setings и выбираем SSH-ключи.

Добавляем публичный ключ, если вы не меняли название, то он лежит в этом файле %userprofile%\.ssh\id_rsa.pub.

Настройка CI/CD для Bitbacket — подробно с картинками

Это нужно, чтобы локально можно было сливать заливать изменения в Bitbacket без вода пароля.

Настойка сервера

Копируем этот же публичный ключ в файл на сервере ~/.ssh/authorized_keys

Затем в эту папку ~/.ssh/ закидываем ваш публичный и приватный ключ.

Настройка CI/CD для Bitbacket — подробно с картинками

Это действие также позволит вам подключаться на ваш сервер по ssh без вода пароля. Подключится можно введя такую команду в cmd:

ssh root@111.111.111.111

Cоздадим bash файл со скриптом в корне вашего проекта на сервере. И назовем его cicd.sh.

#!/bin/bash

cd /var/test.ru

git pull

Этот файл будет запускаться Pipelines.

Настройка Pipelines

Уже у вас есть проект, заходим в него и жмем с боку слева внизу Repository setings, setings

Настройка CI/CD для Bitbacket — подробно с картинками

Включаем Enable Pipelines. Жмем View bitbucket-pipelines.yml и выбираем вариант по умолчанию, рекомендованный.

Сам файл у меня такой:

# This is an example Starter pipeline configuration
# Use a skeleton to build, test and deploy using manual and parallel steps
# -----
# You can specify a custom docker image from Docker Hub as your build environment.

image: atlassian/default-image:3

pipelines:
  default:
    - parallel:
      - step:
          name: 'Build and Test'
          script:
            - echo "Your build and test goes here..."
      - step:
          name: 'Lint'
          script:
            - echo "Your linting goes here..."
      - step:
          name: 'Security scan'
          script:
            - echo "Your security scan goes here..."

    # The following deployment steps will be executed for each pipeline run. To configure your steps and conditionally deploy see https://support.atlassian.com/bitbucket-cloud/docs/configure-bitbucket-pipelinesyml/
    - step:
        name: 'Deployment to Staging'
        deployment: staging
        script:
          - ssh root@111.111.111.111 /var/test.ru/cicd.sh
          - echo "Your deployment to staging script goes here..."
    - step:
        name: 'Deployment to Production'
        deployment: production
        trigger: 'manual'
        script:
          - echo "Your deployment to production script goes here..."

Обратите внимание на строчку – ssh root@111.111.111.111 /var/test.ru/cicd.sh

Дальше заходим опять же в настройки репозитория и выбираем SSK key. Жмем сгенерировать ключ и вставляем его на сервере в ~/.ssh/authorized_keys

Дальше указываем ваш ip сервера и жмем fetch, добавляем то что сгененировалось.

Настройка CI/CD для Bitbacket — подробно с картинками

Все создавайте локально изменения и делайте PR, после одобрения, изменения автоматически задеплоятся на ваш сервер.

Если есть вопросы то пишите в комментах.

Предыдущая
ПрограммированиеПодключение к Git по SSH в Windows через PHPShtorm на примере BitBucket и GitHub
Следующая
ПрограммированиеСпарсить курс валют для Steam
Помогла статья? Оцените её
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Оценок: 4
Загрузка...
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.