Build server prototype (integration with GitHub / NuGet / etc)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
micro-build-server/README.md

95 lines
3.7 KiB

micro-build-server
11 years ago
==================
Разработка
==========
Установить Node.js v6.
Запустить `npm install` из папки `BuildServer`.
Создать `app.ts` на основе `app.ts.example`.
Для проверки code style / типов использовать `npm test`.
Установка на сервере
====================
Установить Node.js v6.
Скопировать на сервер собранный проект (содержимое папки `bin\Release`) `DotNetBuilder`.
Установить в GAC сборки `Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed` (можно взять из релиза 6.0.4 с NuGet), `Microsoft.VisualStudio.Setup.Configuration.Interop, PublicKeyToken=b03f5f7f11d50a3a`.
Склонировать репозиторий (`git clone`).
Запустить `npm install` из папки `BuildServer`.
Создать `app.ts` на основе `app.ts.example` (для использования в IIS надо указать `port: process.env["PORT"]`).
Пути `gitpath`, `releasepath`, `tmpcodepath` должны быть максимально короткими.
Проверить, что `app.ts` правильный с помощью `npm test`.
Собрать с помощью `npm build` или `npm run build`.
Запускать с помощью `npm start` или `node app`.
Для использования в IIS - установить iisnode, создать в iis сайт, указывающий на корневую папку `BuildServer` (в которой лежит `Web.config`).
Возможно, в зависимости от сценариев использования, также понадобится установить на сервер Microsoft .NET Targeting Pack и Windows SDK нужной версии.
Обновление сервера
==================
```
git pull origin master
npm test
npm run build
```
7 years ago
Использование
=============
В настройках нужного репозитория (и его форков) указать адрес хука: `https://micro-build-server/github/postreceive`.
Добавить в корневую папку репозитория файл `mbs.pos` с содержимым следующего вида:
```
{
"type": "sequential",
"params": {
"tasks": [
{
"type": "dotnetbuild",
"params": {
"solution": "Legacy.Processing.Common.sln",
"forceCodeAnalysis": "true"
}
},
{
"type": "dotnetnugetprocess",
"params": {
"masterRepoOwner": "Legacy",
"nuspecName": "Legacy.Processing.Common",
"major": "4"
}
}
]
}
}
```
Со списком возможных типов задач и их параметров можно ознакомиться в папке `BuildServer\lib\tasks`.
Для добавления новой задачи достаточно добавить новый файл `yourtaskname.ts` в эту папку.
Для получения информации о статусе сборки достаточно добавить в README.md нужного репозитория строчку
```
![Status](https://micro.build.server/status.svg)
```
Или вручную перейти на страницу с отчётом о сборке - для этого надо поменять в адресной строке адрес `https://github.enterprise/what/ever` на `https://micro.build.server/github.enterprise/what/ever`.
В обоих случаях будет отображена информация о сборке нужной ветки / нужного коммита.