Build server что это за программа
шеф сказал продумать build-сервер и предоставить ему моё видение «процесса разработки» с использованием этого сервера.
Опыт у меня в настройке таких серверов минус нулевой. Вот решил спросить что и как у людей по уму делается.
Для нашей конторы сервер будет включать:
(ОС Windows 2003 Server)
1.Java (я так понимаю достаточно jdk 1.6 поставить)
1.SQL сервер — MySQL
2.HTTP сервер — Apache Tomcat
3.CVS — хз какой, посоветуйте
4.Тест-сервер. Вот тут я чего-то не понял. Возможность запускать и тестировать проекты на сервере.
Видимо имеется в виду автоматизация процесса. Компилить код с цвс и инсталлировать всё что нужно куда нужно и запускать.
Использовать скрипты Apache Ant?
5.Автоматизация создания релизов. Видимо тоже что-то типа Ant?
По самому «жизненному циклу» так сказать:
(как это грамотно делается?)
1. прогеры работают с цвс. возможно в нескольких ветках и по нескольким проектам
USB 포트, 케이블 및 커넥터
2. прогеры ведут документацию. тут уж я не знаю какие средства использовать, посоветуйте
3. в любой точке разработки прогер имеет возможность собрать проект и запустить. для этого у него ему предоставлены соответсвующие средства, скрипты, среда исполнения.
4. в конце каждого рабочего дня (или недели) весь код архивируется. тоже не знаю пока какими средствами. возможно просто запаковать всё,что на цвс и всё (может сам цвс это позволяет)
5. релиз. тоже пока не знаю как и чем.
Re: что такое build-cервер?
От: | Miroff | |
Дата: | 12.03.08 05:39 | |
Оценка: | 1 (1) +2 |
Здравствуйте, consumer, Вы писали:
C>шеф сказал продумать build-сервер и предоставить ему моё видение «процесса разработки» с использованием этого сервера.
C>Опыт у меня в настройке таких серверов минус нулевой. Вот решил спросить что и как у людей по уму делается.
Всегда веселили подобные вопросы. «Мне тут начальник сказал шмузеду к здрунтелю прикрутить, а я ни того, ни другого ни разу в жизни не видел. Подскажите, с чего начать?» Как так получается, что работу поручают делать несведущему в предметной области, не представляю.
Начать стоит с того, чтобы определиться что такое build-сервер и какую проблему он призван решать в вашем проекте. Потому как build-сервер по определению занимается только сборкой билдов на регулярной основе, например, каждую ночь или в рамках системы continious integration. Т.е. берет срез из VСS, компилирует, собирает билд, и, зачастую, прогоняет набор тестов. Что, как и когда происходит в деталях, сильно зависит от проекта. А вы, похоже, пытаетесь впихнуть в рамки этой задачи всю проектную инфраструктуру.
Re[2]: что такое build-cервер?
От: | consumer |
Дата: | 12.03.08 06:58 |
Оценка: |
Здравствуйте, Miroff, Вы писали:
Сборка Сервера «Начального уровня»
M>Здравствуйте, consumer, Вы писали:
C>>шеф сказал продумать build-сервер и предоставить ему моё видение «процесса разработки» с использованием этого сервера.
C>>Опыт у меня в настройке таких серверов минус нулевой. Вот решил спросить что и как у людей по уму делается.
M>Всегда веселили подобные вопросы. «Мне тут начальник сказал шмузеду к здрунтелю прикрутить, а я ни того, ни другого ни разу в жизни не видел. Подскажите, с чего начать?» Как так получается, что работу поручают делать несведущему в предметной области, не представляю.
То место, где всегда делают знакомую до боли работу называется конвейер. Вы предлагаете на каждую вполне решаемую задачу нанимать отдельного «сведущего человека»? Если бы все были сведущими во всех проблемах, с которыми сталкиваются, то РСДН был бы не нужен, хотя для Вас видимо, РСДН, это что-то типа Анекдотов.НЕТ — повод для веселья.
M>Начать стоит с того, чтобы определиться что такое build-сервер и какую проблему он призван решать в вашем проекте. Потому как build-сервер по определению занимается только сборкой билдов на регулярной основе, например, каждую ночь или в рамках системы continious integration. Т.е. берет срез из VСS, компилирует, собирает билд, и, зачастую, прогоняет набор тестов. Что, как и когда происходит в деталях, сильно зависит от проекта. А вы, похоже, пытаетесь впихнуть в рамки этой задачи всю проектную инфраструктуру.
Всю проектную инфраструктуру туда и надо впихнуть. Я собственно описал примерно что требуется и попросил подсказок по конкретным не совсем мне ясным пунктам, называть это билд-сервер или как-то ещё — дело 10-е. шеф так называет. терминологический спор я с ним устраивать не буду.
Re: что такое build-cервер?
От: | kaa.python | РСДН профессионально мёртв и завален ватой. |
Дата: | 12.03.08 07:06 | |
Оценка: | +1 |
ддля начала стоит написать, что вообще хочется от данного сервера. только что завершили внутренний проект как раз с подобным названием — «билд-сервер», так вот, данная система умеет брать код из репозитория, собирать сообщать о результатах сборок и результат раскладывать по папочкам. это и есть классический сборочный сервер. что же хотите получить вы не очень понятно.
Re[2]: что такое build-cервер?
От: | consumer |
Дата: | 12.03.08 07:50 |
Оценка: |
Здравствуйте, kaa.python, Вы писали:
KP>ддля начала стоит написать, что вообще хочется от данного сервера. только что завершили внутренний проект как раз с подобным названием — «билд-сервер», так вот, данная система умеет брать код из репозитория, собирать сообщать о результатах сборок и результат раскладывать по папочкам. это и есть классический сборочный сервер. что же хотите получить вы не очень понятно.
Да вот это как раз то чего я недопонял. То есть автоматический сборщик нужен, но с помощью каких средств это делается. У вас это собственный проект, собственный сборщик, если я вас правильно понял.
Я вот и хотел спросить, какие средства существуют, можно писать Ant-скрипты, которые и с цвс работают и компилить будут и запускать. Это один вариант. Есть ли какие либо ещё популярные средства, бесплатные или коммерческие?
Re[3]: что такое build-cервер?
От: | kaa.python | РСДН профессионально мёртв и завален ватой. |
Дата: | 12.03.08 08:09 | |
Оценка: | 3 (1) |
Здравствуйте, consumer, Вы писали:
C>Да вот это как раз то чего я недопонял. То есть автоматический сборщик нужен, но с помощью каких средств это делается. У вас это собственный проект, собственный сборщик, если я вас правильно понял.
писал на эту тему.
Re[3]: что такое build-cервер?
От: | K13 | http://akvis.com |
Дата: | 12.03.08 09:38 | |
Оценка: |
C>Да вот это как раз то чего я недопонял. То есть автоматический сборщик нужен, но с помощью каких средств это делается. У вас это собственный проект, собственный сборщик, если я вас правильно понял.
C>Я вот и хотел спросить, какие средства существуют, можно писать Ant-скрипты, которые и с цвс работают и компилить будут и запускать. Это один вариант. Есть ли какие либо ещё популярные средства, бесплатные или коммерческие?
Гуглить на тему continious integration server
мы используем Luntbuild
есть куча других
Re[3]: что такое build-cервер?
От: | rlabs | |
Дата: | 12.03.08 15:46 | |
Оценка: | 1 (1) +1 |
Здравствуйте, consumer, Вы писали:
C>Да вот это как раз то чего я недопонял. То есть автоматический сборщик нужен, но с помощью каких средств это делается. У вас это собственный проект, собственный сборщик, если я вас правильно понял:).
C>Я вот и хотел спросить, какие средства существуют, можно писать Ant-скрипты, которые и с цвс работают и компилить будут и запускать. Это один вариант. Есть ли какие либо ещё популярные средства, бесплатные или коммерческие?
Для начала нужно сделать две вещи:
1. Добиться построения проекта одной командой (максимум тремя — get-config-build)
2. Поставить пилотный сервер continuous integration — для явы самое простое это CruiseControl. У них на сайте и сама идея достаточно хорошо описана.
дальше все само собой допишется. Тесты, зависимые сборки, почтовая нотификация и тд и тп.
Источник: www.rsdn.org
dotnet build-server
dotnet build-server — взаимодействует с серверами, запущенными сборкой.
Краткий обзор
dotnet build-server shutdown [—msbuild] [—razor] [—vbcscompiler] dotnet build-server shutdown -h|—help dotnet build-server -h|—help
Команды
- shutdown Завершает работу серверов сборки, запущенных командой dotnet. По умолчанию все серверы завершают работу.
Параметры
- -?|-h|—help Выводит описание использования команды.
- —msbuild Завершает работу сервера сборки MSBuild.
- —razor Завершает работу сервера сборки Razor.
- —vbcscompiler Завершает работу сервера сборки компилятора VB/C#.
Источник: learn.microsoft.com
Unity Build Server
Перенесите сборки ваших проектов на Unity в сетевую инфраструктуру, помогая вашим сотрудникам улучшать качество продуктов и выпускать проекты в срок.
Создавайте сборки по необходимости, повышайте качество
Повысьте качество проектов, предоставив сотрудникам возможность быстро и легко создавать сборки в нужном им темпе, что позволит развить креативный подход и ускорит итерацию.
Удобство развертывания и управления
Верните контроль в руки ваших IT-специалистов благодаря гибкому решению для сборки проектов. Оно избавит вас от проблемы ежедневных сборок и включает в себя инструменты, упрощающие решение проблем и сокращающие затратные простои.
Ключевые преимущества
Быстрые итерации
Любой сотрудник команды может собрать проект, и каждый может проанализировать внесенные изменения и самостоятельно улучшить свою работу.
Снижайте простои
Избегайте затратных и разочаровывающих простоев, исключив необходимость сборки проекта в рабочем окружении разработчика.
Стремитесь к высшему качеству
Позволяя своим разработчикам ускорить итерацию, творческие студии открывают новые возможности по ускорению работы над улучшением качества.
Простая настройка
Упрощенный процесс настройки автоматизирует самые сложные этапы конфигурации сервера сборок.
Гибкое развертывание
Unity Build Server является решением на основе плавающей лицензии, которое упрощает добавление и конфигурацию машин для сборки в сеть по мере необходимости изменения вашей инфраструктуры.
Непосредственное управление
Unity Build Server управляется непосредственно из портала Unity ID, передавая контроль прямо в руки IT-менеджеров для ускоренного и упрощенного управления серверами и решения проблем.
Сравнение решений
Unity Pro Build Server
- Для подписчиков Unity Pro
- Предоставляется в количестве, кратном числу лицензий Unity Pro Build Server
Unity Enterprise Build Server
- Базовое количество, включенное в состав подписок Unity Enterprise
- Доступно в количестве, кратном 5 лицензиям Unity Enterprise Build Server
Свяжитесь с нами, чтобы получить бесплатную пробную версию
Хотите лучше познакомиться с Build Server перед принятием решения? Свяжитесь с нами и предоставьте информацию о вашей студии и производственном процессе, и мы подберем для вас бесплатный пробный период.
Часто задаваемые вопросы
Что такое Unity Build Server?
Unity Build Server — это выгодное лицензируемое решение для сборок проектов на Unity, которое ускоряет итерацию и разработку благодаря переносу сложного и затратного процесса сборки в сетевую инфраструктуру.
Как работает Unity Build Server?
Лицензиями Unity Build Server можно управлять с локального сервера лицензий в сети вашей студии. Сервер лицензий управляется непосредственно из портала Unity ID. Unity на Unity Build Server работает в пакетном режиме с интерфейсом в виде командной строки и используется только для сборки, но не для разработки контента.
Нужен ли Unity Build Server для сборки проектов на Unity?
Нет, лицензия Unity Build Server для сборки проектов на Unity не требуется. Сборки можно создавать непосредственно из редактора Unity. Unity Build Server — это более выгодный способ переноса сложных с точки зрения вычислений процессов сборки в сетевую инфраструктуру для высвобождения рабочих станций и повышения производительности сотрудников.
В каких тарифных планах Unity доступен Build Server?
Unity Build Server доступен для пользователей Unity Pro и Unity Enterprise. Сервис недоступен подписчикам Unity Plus или пользователям Unity Personal.
Какая версия Unity поддерживается сервисом Unity Build Server?
Для использования Unity Build Server необходима Unity 2019.4.3 LTS или более поздняя версия.
Нужно ли мне решение Unity Cloud Build?
У пользователей, которым нужно компилировать проекты, обычно есть два варианта: осуществлять сборку локально или в облаке с помощью управляемого сервиса.
В Unity мы используем Cloud Build в качестве управляемого решения для компиляции сборок в облаке. Build Server — это лицензируемое решение, предназначенное для масштабирования локальных ресурсов сборки. Если вы планируете осуществлять сборку в облаке, рекомендуем использовать Cloud Build. Если же вы планируете осуществлять сборку на локальных ресурсах, рекомендуем использовать Build Server.
Можно ли создавать сборки с помощью обычной лицензии Unity Pro?
Да. Клиенты могут создавать сборки проектов с помощью обычных лицензий Unity Pro. Однако в процессе сборки редактор Unity будет занят, поэтому вы не сможете использовать его для разработки.
На сборку крупных проектов могут потребоваться часы, что замедлит итерирование и работу разработчиков. Именно поэтому у студий часто есть отдельные компьютеры для сборки, а такие решения, как Unity Build Server, особенно ценятся в индустрии.
Источник: unity.com
серверный fps Серверный FPS и как увеличить производительность.
Автор Vendetta ,
30 июля в Полезный софт
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Войти
Уже есть аккаунт? Войти в систему.
ОСНОВНЫЕ ПРАВИЛА ПРОЕКТА DAYZ-CODE.RU
По данным ссылкам вы сможете найти общие правила нашего проекта. Правила поведения на нашем сайте, правила торговой площадки и многое другое. Убедительная просьба ознакомиться со всеми правилами и соглашениями нашего проекта! Ведь незнание данных правил не освобождает вас от ответственности! Это максимально облегчит и вашу и нашу «жизнедеятельность» на нашем сайте.
Благодарим вас за понимание и уважительное отношение к нашему проекту!
ОСНОВНЫЕ ССЫЛКИ:
О ПРОЕКТЕ DAYZ-CODE.RU
Основным направлением нашего проекта является создание серверов DayZ Standalone и все что связано с направлением серверостроения DayZ. На нашем сайте вы сможете найти множество гайдов по установке различных дополнений и скриптов для DayZ Standalone, дополнительный софт для администраторов, античиты и различные программы для упрощения работы с сервером и модами, дополнения для различных карт DayZ Standalone, а так же всегда сможете задать интересующий вас вопрос в разделе помощи по серверам. Наша площадка открывает большие возможности для развития и создания вашего собственного проекта!
БУДУЩЕЕ ПРОЕКТА DAYZ-CODE.RU
Наш проект имеет огромные амбиции и большой потенциал, а команда портала делает всё что-бы помочь нашим будущим администраторам по любым вопросам касающиеся серверостроения и других аспектов администрирования, своего собственного проекта. Наш проект пытается максимально развиваться и не топтаться на одном месте. Именно такой настрой, а так же дружелюбный коллектив пользователей форума и нашей команды администраторов проекта DAYZ-CODE является первым шагом и крепким фундаментом к дальнейшей работе и развитию.
Источник: dayz-code.ru
Деплоим как профи: обзор инструментов для непрерывного развёртывания
Непрерывная доставка (Continuous Delivery или просто CD) — подход к доставке программного обеспечения в продакшн, используемый IT-компаниями для предоставления пользовательских функций более быстрым, безопасным и непрерывным способом.
Идея заключается в создании надёжного и автоматизированного процесса, который доставляет программное обеспечение от разработчика к пользователю. Цель состоит в постоянном внесении изменений в продакшн. Такой подход известен как CD-пайплайн (конвейер непрерывной доставки).
Есть много программных инструментов, которые управляют этим потоком. Некоторые из них бесплатны, а за использование других придётся заплатить. Ниже кратко опишем 3 самых популярных.
Jenkins
Это автономный сервер автоматизации с открытым исходным кодом. Его можно использовать для автоматизации всех видов задач, связанных со сборкой, тестированием, поставкой или развёртыванием программного обеспечения.
Требуемое дополнительное ПО: Java Runtime Environment (JRE) версии 8.
Требования к «железу»:
- минимальные — 256 Мбайт оперативной памяти, 1 Гбайт места на жёстком диске;
- рекомендуемые — 1 Гбайт оперативной памяти, 50 Гбайт места на жёстком диске.
Архитектура основана на модели распределенных вычислений (Master/Slave).
Jenkins Server — это базовая установка, отвечающая за хостинг GUI, организацию и выполнение сборки.
Jenkins Node/Slave/Build Server — устройства, которые могут быть настроены для выполнения функций по сборке от имени главного узла.
Пошаговая установка для Linux
Добавьте репозиторий Jenkins в систему.
cd /tmp wget -q -O — https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add — echo ‘deb https://pkg.jenkins.io/debian-stable binary/’ | sudo tee -a /etc/apt/sources.list.d/jenkins.list
Обновите репозиторий пакетов
sudo apt update
sudo apt install jenkins
Теперь Jenkins должен быть доступен в вашей системе по умолчанию через порт 8080.
Перейдите в браузере по адресу http://localhost:8080 . Вам будет предложено ввести начальный пароль пользователя с правами администратора. Найти его можно в файле /var/lib/jenkins/secrets/initialAdminPassword .
Теперь настройка выполнена и можно начать создавать свои потоки CI/CD. Вот несколько примеров того, как выглядит графический интерфейс.
- масштабируемость благодаря архитектуре Master/Slave;
- включает в себя REST XML/JSON API;
- подключение большого количества расширений, благодаря плагинам, которые добавляют множество функций;
- большое и активное онлайн-сообщество, которое является хорошим ресурсом поддержки и примеров реализации.
- нет аналитики;
- устаревший интерфейс по сравнению с другими инструментами.
TeamCity
Это коммерческий сервер для CI/CD от компании JetBrains. Он известен своей простой настройкой и красивым пользовательским интерфейсом. TeamCity имеет мощный набор функций прямо «из коробки» и растущую экосистему плагинов.
Требуемое дополнительное ПО: Java Runtime Environment (JRE) версии 8.
Имея относительно скромный сервер (3,2 Гбайта ОЗУ, двухъядерный процессор 3,2 ГГц, один жёсткий диск и сетевой адаптер с пропускной способностью 1 Гбайт), вы можете получить следующее:
- 60 проектов и 300 конфигураций сборки;
- более 300 сборок в день;
- около 2 Мбайта log-журнала на сборку;
- 50 агентов сборки (компоновки);
- 50 пользователей web-версии и 30 пользователей IDE;
- 100 возможных подключений внешней СКВ (в основном Perforce и Subversion с использованием проверки сервера), средний интервал проверки изменений составляет 120 секунд;
- более 150 изменений в день;
- база данных (MySQL) работает на той же машине;
- серверный процесс TeamCity имеет следующие настройки JVM: -Xmx1100m -XX:MaxPermSize=120m .
Требования к агенту в основном определяются запущенными сборками. Задача сервера TeamCity состоит в том, чтобы отслеживать все подключённые агенты, а также распределять сборки из очереди по этим агентам на основе требований совместимости и сообщать о результатах. Агенты могут иметь разные платформы, операционные системы и предварительно сконфигурированные среды.
Вся информация о результатах сборки хранится в базе данных: история и прочие данные, за исключением артефактов и журналов сборки, а также изменения VCS, агенты, очереди сборки, аккаунты и разрешения пользователей.
Пошаговая установка для Linux
Используйте архив TeamCity.tar.gz, чтобы вручную установить TeamCity в комплекте с контейнером сервлета Tomcat. Архив можно скачать отсюда.
tar -xfz TeamCity.tar.gz /bin /runAll.sh [start|stop]
При первом запуске TeamCity можно выбрать тип базы данных SQL, в которой будут храниться данные о сборке.
По умолчанию TeamCity работает на http://localhost:8111/ и имеет одного зарегистрированного агента сборки, который работает на той же машине.
- простота использования/настройки;
- удобный интерфейс;
- встроенные функции;
- служба поддержки;
- предлагает RESTful API;
- хорошо задокументирован;
- хорошая защищённость «из коробки»;
- быстрая и простая установка/настройка.
- ограниченная интеграция;
- является коммерческим инструментом;
- маленькое сообщество, но оно растёт.
GoCD
Это ещё один инструмент CI/CD с открытым исходным кодом.
Требуемое ПО: Java Runtime Environment (JRE) версии 8.
Требования к «железу».
- Сервер:
- ОЗУ: минимум 1 Гбайт, рекомендуется 2 Гбайта;
- Процессор: минимум 2 ядра, 2 ГГц;
- Жёсткий диск: минимум 1 ГБ свободного места.
- ОЗУ: минимум 128 Мбайт, рекомендуется 256 Мбайт;
- Процессор: минимум 2 ГГц.
Сервер предоставляет интерфейс пользователя и работу для агентов. Агенты запускают команды, полученные с сервера.
Схема конвейера (Stages/Jobs/Tasks):
Пошаговая установка для Linux
echo “deb https://download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list curl https://download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add — add-apt-repository ppa:openjdk-r/ppa apt-get update apt-get install -y openjdk-8-jre apt-get install go-server apt-get install go-agent /etc/init.d/go-server [start|stop|status|restart] /etc/init.d/go-agent [start|stop|status|restart]
По умолчанию GoCD работает на http://localhost:8153/.
- открытый исходный код;
- простая установка;
- подробная документация;
- дружественный графический интерфейс;
- Пошаговое отображение пути развёртывания в одном представлении;
- хороший обзор структуры конвейера;
- GoCD оптимизирует рабочий процесс CD в популярных облачных средах, таких как Kubernetes, Docker, AWS;
- GoCD помогает устранять неисправности в конвейере, отслеживая каждое изменение от коммита до развертывания в режиме реального времени.
- вам нужно установить хотя бы одного агента;
- нет главной консоли для отображения всех выполненных заданий;
- в конфигурации конвейера вы должны создать по одной задаче для каждой команды, которую вы хотите выполнить;
- чтобы установить плагин, нужно поместить файл .jar в /plugins/external и перезапустить сервер;
- небольшое сообщество.
Подведём итоги
Это всего лишь 3 примера, но есть и много других инструментов, связанных с CD. Выбор правильного для вас может быть непростым, поэтому обратить внимание стоит на важные аспекты, от которых и будет зависеть выбор.
Открытый исходный код позволяет заглянуть «под капот», а также быстрее реализовывать новые функции. Но, если что-то сломается, у вас есть только свой опыт и помощь сообщества. За платное программное обеспечение вы получаете поддержку разработчика, поэтому его легче внедрить и оно стабильнее в работе.
Если вы хотите интегрироваться со сторонней компанией или просто не хотите заботиться о функционировании и масштабировании, можете предпочесть SaaS-решение. С другой стороны, если безопасность является главной заботой или есть юридические ограничения, лучше использовать собственное решение (локальный хостинг).
Уделите больше внимание к особым требованиям вашего развёртывания. Их специфика может помочь сузить список подходящих инструментов и сэкономить время.
Источник: tproger.ru