Данная статья рассчитана на java разработчиков, у которых возникла потребность быстро публиковать свои продукты в репозиториях sonatype и/или maven central с использованием GitLab. В данной статье я расскажу про настройку gitlab-runner, gitlab-ci и maven-plugin для решения данной задачи.
Рубрика «deployment tools»
Настройка GitLab CI для загрузки java проекта в maven central
2019-04-26 в 12:47, admin, рубрики: deploy, deployment, deployment tools, devops, gitlab ci, gitlab runner, java, maven central, mvn, sonatype nexusJenkins Pipeline Shared Libraries
2017-09-21 в 13:03, admin, рубрики: continuous deployment, deployment tools, devops, Jenkins CI, pipelines, развертываниеВсем привет. В данной статье хочу поделиться знаниями, полученными в процессе автоматизации развертывания наших сервисов на различные серверы в разных дата-центрах.
Задача была следующей: есть определенный набор скриптов для развертывания сервисов, которые нужно запускать на каждом сервере каждого дата-центра. Скрипты выполняют серию операций: проверка статуса, вывод из-под load balancer’а, выпуск версии, развертывание, проверка статуса, отправка уведомлений через email и Slack и т.д. Это просто и удобно, но с ростом числа дата-центров и сервисов процесс выкатки новой версии может занять целый день. Кроме того, за некоторые действия отвечают отдельные команды, например, настройка load balancer’а. Также хотелось, чтобы управляющий процессом код хранился в общедоступном репозитории, дабы каждый член команды мог его поддерживать.
Решить задачу удалось с помощью Jenkins Pipeline Shared Libraries: этапы процесса разделились визуально на логические части, код хранится в репозитории, а осуществить доставку на 20 серверов стало возможно в один клик. Ниже приведен пример подобного тестового проекта:
Сейчас я расскажу и покажу примеры как этого достичь. Надеюсь эта статья поможет сохранить время другим разработчикам, а также буду рад дельным комментариям.
Читать полностью »
GitLab CI: Развертывание и среды развертывания
2016-09-20 в 11:22, admin, рубрики: ci, continuous integration, deploy, deployment, deployment tools, Git, gitlab, gitlab ci, open source, Блог компании Softmart, системы сборки, Системы управления версиямиВ данной статье речь пойдет об истории успеха воображаемого новостного портала, счастливым владельцем которого являетесь вы. К счастью, вы уже храните код проекта на GitLab.com и знаете, что для тестирования можно использовать GitLab CI.
Теперь вам интересно, можно ли пойти дальше и использовать CI еще и для развертывания проекта, и если да, то какие возможности при этом открываются.
Чтобы не привязываться к какой-либо конкретной технологии, предположим, что ваше приложение является простым набором HTML-файлов, никакого выполнения кода на сервере, никакой компиляции JS assets. Деплоить будем на Amazon S3.
У автора нет цели дать рецепты для конкретной технологии в этой статье. Наоборот, примеры кода максимально примитивны, чтобы слишком на них не зацикливаться. Смысл в том чтобы вы посмотрели на фичи и принципы работы GitLab CI в действии, а потом применили их для вашей технологии.
Elixir: Развёртывание приложений с помощью Edeliver
2016-08-09 в 13:14, admin, рубрики: configuration, deployment, deployment tools, Elixir, Erlang/OTP, functional programming, функциональное программирование
Мы уже обсуждали сборку и развёртывание приложений Elixir(перев: с помощью exrm): как осуществлять миграции поверх релиза или как работать с переменными среды. Пришло время открыть для себя ещё один инструмент, который поможет развёртывать Elixir приложения.
Практика развёртывания Elixir приложений и дальнейшее отслеживание их работы на нодах с помощью Exrm позволяет нам чувствовать себя гораздо увереннее в вопросах управления релизами в production. Однако возникает следующий вопрос: как управлять самим процессом развёртывания? Конечно, мы можем воспользоваться Capistrano, особенно если в мир Elixir мы пришли из Rails. Но посмотрим на цитату из Edeliver README:
edeliver основан на доставке и предоставляет bash-скрипт для сборки и развёртывания Elixir и Erlang приложений, а так же позволяет совершать "горячее" обновление кода.
Пытаться организовать весь процесс развёртывания вручную — это жёсткая головная боль с кучей повторяющегося кода. А вот использование Edeliver для развёртывания оказалось очень простым с первой же попытки! В конце концов, весь процесс развёртывания уместился в один меленький bash-скрипт:
#!/bin/bash -ex
BRANCH=${1:-master};
mix edeliver build release --branch=BRANCH --verbose
mix edeliver deploy release to production --verbose
mix edeliver start production --verbose
mix edeliver migrate production up --verbose
Скорее всего Вам придётся подкрутить этот скрипт под собственные нужды. Мы используем его только для развёртывания в production, но Вы так же можете использовать его и для staging развёртываний. Описание того, как всё это работает — под катом.
Dokkur – первый PaaS из России
2016-04-06 в 10:36, admin, рубрики: cloud computing, deis, deployment, deployment tools, docker, dokku, dokkur, flynn, heroku, paas, workflow, Блог компании Dokkur, ит-инфраструктура, Облачные вычисления, Разработка веб-сайтов, хостинг Привет, читатели!
Мы – небольшая команда разработчиков из четырёх человек, и хотим представить на ваш суд свою PaaS, аналог Heroku.
Работая достаточно длительное время на рынке веб-разработки, мы в какой-то момент столкнулись с проблемой грамотного управления приложениями. Настройка своих серверов оказалась для нас не очень быстрым решением, а разнообразие технологий создало дополнительную нагрузку.
Попробовав Heroku в качестве решения, мы поняли, что такое качество и удобство. Единственное, что кусалось – цены. Поэтому около 4-х месяцев назад мы поставили цель сделать свою собственную платформу. И мы ее сделали. Знакомьтесь: Dokkur – первый полноценный PaaS из России!
Деплой на shared-хостинг: боль и страдания или простая рутина?
2016-03-17 в 16:35, admin, рубрики: deploy, deployment tools, php, Веб-разработка, выкладка, ит-инфраструктура, утилиты деплояКоротко для тех, кто спешит
Утилита FTP Deployment: написана на php, принимает в качестве параметра путь к конфигу и выкладывает файлы на удаленный сервер, довольно быстро и хорошо.
Долго и подробно для тех, кому интересно
Все мы любим классные и удобные методы деплоя с помощью capistrano, rsync или, на худой конец, git pull. А если надо выкладывать проекты на shared-хостинг?
Да, некоторые провайдеры предоставляют ssh и git. Но, прямо скажу, их немного.
Однажды я вдруг понял, что привык к хорошему, и ненавижу выкладывать проекты через (S)FTP: не залился какой-то файл; надо вспомнить, где лежат конфиги; вот эту папку не надо выкладывать вообще; вот тут надо проверить права. Думаю, многие этот список легко продолжат.
Не кочегары мы не плотники… А мы программеры-работники, да. И устанавливаем приложения на серверы нескольких сред
2016-02-03 в 12:45, admin, рубрики: deploy, deployment, deployment tools, автоматизация, Блог компании Softmart, ит-инфраструктура, развертывание, управление разработкойДрузья, доброго времени суток.
Честно говоря, уже устал поддерживать версии приложений на серверах и делать изменения в БД врукопашную. Использую свои скрипты установки — те же программы, за которыми тоже надо следить самому и править в разных обстоятельствах, типа добавления нового сервера или подготовки новой виртуалки тестировщикам. Захотелось посмотреть, какие есть цивилизованные решения для таких задач. Хочу поделиться первым опытом работы в среде автоматизации процесса развертывания софта – Serena Deployment Automation (SDA) — продукт бесплатен при условии использования на не более 5 серверах.
Смена SID при клонировании и массовом развёртывании
2016-01-12 в 8:11, admin, рубрики: deployment tools, sid, sysprep, Блог компании Acronis, Inc, Восстановление данных, ит-инфраструктура, развертывание, системное администрирование, метки: sidПривет! Упомянутая в заголовке тема всё ещё порождает множественные дискуссии и недопонимание между системными администраторами. В своей статье я постараюсь ответить на следующие вопросы:
- Что такое SID и каких он бывает типов?
- Когда наличие двух и более машин с одинаковыми Machine SID будет порождать проблемы? Или, другими словами, когда всё-таки (не)нужно менять Machine SID?
- Что такое Sysprep и нужен ли Sysprep для клонирования/развёртывания?
Эти вопросы будут рассмотрены в первую очередь в контексте задачи развёртывания/клонирования множества рабочих станций/серверов из одного мастер-образа в пределах одной компании.
В основу рассуждений была взята популярная статья Марка Руссиновича (доступна также на русском языке), которую довольно часто неправильно интерпретируют (судя по комментариям и «статьям-ответам»), что приводит к неприятным последствиям. Добро пожаловать под кат.
Читать полностью »
Deploy4Me — сервис, который развернул себя сам
2014-12-11 в 9:38, admin, рубрики: amazon, Amazon Web Services, cloud, cloud provisioning, deployment tools, SaaS, Блог компании Deploy4Me, Облачные вычисления, развертывание облаков, системное администрирование, установка приложений
Случилось то, чего мы так долго ждали. Наша идея воплотилась в камне онлайн сервисе.
Проделав долгий путь от идеи к сервису, через гору кода, стены тикетов и море тестов, с уверенностью можно сказать — мы запустились.
Наш сервис ставит софт в облако. В основном большие серверные продукты, но есть место и небольшим средам для программистов.
Deploy Django приложений с использованием Ansible для чайников
2014-10-27 в 8:28, admin, рубрики: Ansible, deploy, deployment tools, django, чайник - чайникуДоброго времени суток!
Совсем недавно мой коллега познакомил меня с замечательным инструментом автоматизации ручного труда под названием Ansbile. После чего моментально родилась идея написать что-то своё, что упрощает тот самый ручной труд. Что чаще всего приходится делать руками? Правильно, деплоиться.
В этой статье я расскажу о том, как с использованием ansible раскатать django-проект на чистом удаленном сервере ubuntu 14.04, создав при этом для проекта отдельного пользователя.
Читать полностью »