Чтобы добавлять сообщения и комментарии, .

@otakuSiD:
otakuSiD

install latest node.js on AWS Linux

curl --silent --location rpm.nodesource.com | bash —
yum -y install nodejs
npm install npm -g


nodejs.org

@otakuSiD:
otakuSiD

You can import projects with all their data and user accounts from a backup file to an existing TeamCity server
(note that the major and minor versions of the source and target TeamCity servers have to be the same)


confluence.jetbrains.com

@otakuSiD:
otakuSiD

how to automate .net core sdk installation and dont fail in case when reboot needed


DotNetCore.1.0.0.RC2-SDK.Preview1-x64.exe /install /quiet /norestart /log c:\temp\framework\core-sdk-install.txt & if errorlevel 3010 echo 'I hate shitty error codes'

msdn.microsoft.com

@otakuSiD:
otakuSiD

How do I enable the EPEL repository for my Amazon EC2 instance running Centos, RHEL, or Amazon Linux?


aws.amazon.com

@otakuSiD:
otakuSiD

Install Maven with Yum on Amazon Linux

gist.github.com

@otakuSiD:
otakuSiD

How to strip color codes out of stdout

unix.stackexchange.com

can be useful when you show test reports in TeamCity

@otakuSiD:
otakuSiD

If you faced up with path to long issues when deploying new asp.net 5 application using AWS CodeDeploy — here is script that configure CodeDeploy service to use short path root folder. Use it when you setup the host fro you application.

gist.github.com

@otakuSiD:
otakuSiD

Environment Variables — good alternative to profile to authorize aws cli from build scripts


docs.aws.amazon.com

@otakuSiD:
otakuSiD

youtrack.jetbrains.com

There are couple issues with push agent functionality:

— by default wrapper.ntservice.interactive setting in the buildAgent/launcher/conf/wrapper.conf configuration file is set to true — this brings to error during agent installation with psexec:


in the push agent logs:

bootstrapper.exe exited on MY_AGENT_HOST_IP with error code 255.
Remote agent installation failed: Command 'D:\:\teamcity\temp___5060497447753492559\cli-wrapper.exe D:\teamcity_data\system\pluginData\psexec\psexec.exe /accepteula \\MY_AGENT_HOST_IP -e -h -u MY_USER -p ********** -c -f D:\teamcity\temp___5612841585882618839\bootstrapper.exe bootstrap -u MY_TC_MASTER_HOST – bin\install.bat MY_TC_MASTER_HOST C:\\BuildAgent 27f25fcd78b2812602f9a14ea6756bae' was executed with error message(s): Execution error. Return code=255


in the windows event logs on agent host:

The TeamCity Build Agent service is marked as an interactive service. However, the system is configured to not allow interactive services. This service may not function properly.

— it would be good to determine if push agent functionality used to install agent on EC2 host and set wrapper.ntservice.dependency.1=Ec2Config setting of the buildAgent/launcher/conf/wrapper.conf configuration file. As mentioned in manual (https://confluence.jetbrains.com/display/TCD9/Setting+up+and+Running+Additional+Build+Agents#SettingupandRunningAdditionalBuildAgents-BuildAgentasaWindowsService). Or provide corresponding configuration option in the Agent Push preset configuration dialog

— to simplify agent push configuration on the AWS please add note to manual about 445 port that should be configured in the AWS::EC2::SecurityGroup attached to build agent host. This allow to communicate psexec from TeamCity server host with build agent host

@otakuSiD:
otakuSiD

Download latest SSL certificate and setup environment to make it accessible for Ruby


gist.github.com

@otakuSiD:
otakuSiD

rake version:bump:patch in the age of bundler gemspecs

gist.github.com

@otakuSiD:
otakuSiD

.NET Framework 4.6 and 4.6.1 installer return non zero exit code in case when reboot required to complete installation. Even in case when it allowed to reboot automatically.

@otakuSiD:
otakuSiD

prepare to migration on MSVS 2015

— Microsoft Build Tools 2015 (https://www.microsoft.com/en-us/download/details.aspx?id=48159)
— MSVS targets (c:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0[Web|WebApplications])
— MSVS 2015 Shell (Isolated) (should be at visualstudio.com in Tools for Visual Studio 2015 -> Visual Studio 2015 Shell sections) (https://connect.microsoft.com/VisualStudio/ExtendVS)
— .NET Framework 4.6 (http://www.microsoft.com/en-us/download/details.aspx?id=48137) or .NET Framework 4.6.1 (https://www.microsoft.com/en-us/download/confirmation.aspx?id=49981)


jameschambers.com

@necromant:
necromant

CI здорового человека: jenkins.ncrmnt.org По коммиту в гитхаб проходит сборка, подается питание на железки, проходят тесты, после это хозяйство вырубается и генерируется мем.

@qnikst:
qnikst

а какие есть "дешевые" по ресурсам CI системы или как их писать, чтобы легко интегрировать с github? А то у меня висят пара дешевых инстансов на DO, на которых только quassel не жручий, и не охота лишние деньги circleCI платить (цена вполне сравнима).

@otakuSiD:
otakuSiD

sedodream.com

Configuration transformation using task from Microsoft.Web.Publishing.Tasks inside the project file

@Equidamoid:
Equidamoid

Кто-нибудь знает continuous integration сервис, который бы давал нахаляву собирать опенсорсный проект?

@green:
green

Continuous Integration — затянутое внедрение

@nox:
nox

Поздравьте меня, я теперь не девочка — я заюзал Travis CI !

@otakuSiD:
otakuSiD

How to create and deploy MSDeploy package using precompiled ASP.NET Web Application

gist.github.com

@otakuSiD:
otakuSiD

MSBuild не копирует локальную DLL в бины если она зарегистрирована в GAC. Предпологаеться что на билд сервере и хостах GAC одинаковый.


social.msdn.microsoft.com


Нет слов и маты кончились :(

@trapdoor:
trapdoor

while true; do
clear && cabal-dev build && $@
inotifywait -qq -e modify -r src/ *.cabal
done

вот и вся любовь...

@otakuSiD:
otakuSiD

Faster Builds with MSBuild using Parallel Builds and Multicore CPUs

hanselman.com
msdn.microsoft.com

@Alinaki:
Alinaki

Попробовал Application Packages в CodeIgniter. Работает отлично, но MY_либы не держит :(

@otakuSiD:
otakuSiD

Как запилить пакет для деплоя в облако при интеграции. Есть два способа:

1. Натравить утилиту "CSPack" на выхлопы Azure Project:

c:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\bin\cspack.exe c:\src\Eapi.Azure\ServiceDefinition.csdef /role:My.WcfServices;c:\src\My.WcfServices\bin\Release\;My.WcfServices.dll /role:My.AnotherRole;c:\src\My.AnotherRole\bin\Release\;My.AnotherRole.dll /out:c:\MyAzurePackage_build_0.0.0.1.cspkg

2. Билдить Azure Project с нужными параметрами:

msbuild.exe c:\src\MyProject.Azure\MyProject.ccproj /p:Configuration=Release /p:TargetProfile=Cloud /p:PublishDir=c:\Packages\ /target:Publish /verbosity:quiet /maxcpucount:8 /logger:Kobush.Build.Logging.XmlLogger,c:\TOOLS\MSBuild\Kobush.Build.dll;c:\msbuild-report.xml /nodeReuse:true


Второй способ не так гибок но требует меньше ручной настройки, так как Azure Project уже содержит все необходимые данные.


CSPack Command-Line Tool:
http://msdn.microsoft.com/en-us/library/windowsazure/gg432988.aspx

Windows Azure Project:
http://msdn.microsoft.com/en-us/library/windowsazure/ee405487.aspx

Command-Line Build for Windows Azure:
http://msdn.microsoft.com/en-us/library/windowsazure/hh535755.aspx

@noroot:
noroot

Satanic Hudson i.imgur.com

@otakuSiD:
otakuSiD

Похоже "MSDeploy" годиться только для синхронизации сайтов, для нормального деплоймента в процессе интеграции его не затачивали :(

Чего бы от него хотелось:

1. Запаковать скомпилированные сорцы.
2. Добавить в пакет метаданные для IIS
3. Развернуть пакет на удаленном серваке.

Если на серваке нужного сайта нет — создать, если есть — обновить метаданные при необходимости.

На данный момент добавить метаданные в пакет "MSDeploy" может только скопировав их с уже существующего сайта. И создавать сайт на серваке, если его нет, эта поделка не умеет.

Вобщем задумка хорошая, конфигурация гибкая, но для нормального использования в CI нихуя не годится :(

@otakuSiD:
otakuSiD

Народ, а есть кто юзающий "MSDeploy" для развертывания своих проектов? Хочу вопросы позадавать?

@otakuSiD:
otakuSiD

Возможные ошибки при настройке "MSDeploy":

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets (2850,5):

errorMSB4018: The "IsCleanMSDeployPackageNeeded" task failed unexpectedly.
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Web.Publishing.Tasks.Common.Utility.CheckMSDeploymentVersion()
at Microsoft.Web.Publishing.Tasks.Common.Utility.get_IsMSDeployInstalled()
at Microsoft.Web.Publishing.Tasks.Common.Utility.CheckMSDeploymentVersion(Task task)
at Microsoft.Web.Publishing.Tasks.IsCleanMSDeployPackageNeeded.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult)

На билд машине не установлен "Web Deploy" (http://www.iis.net/download/webdeploy).

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets (1737,5):

error: No such host is known



C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets (1740,7):

errorMSB4018: The "MapUriToIisWebServer" task failed unexpectedly.
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Web.Publishing.Tasks.MapUriToIisWebServer.get_MetakeyPath()



C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets (1740,7):

errorMSB4028: The "MapUriToIisWebServer" task's outputs could not be retrieved from the "MetakeyPath" parameter. Object reference not set to an instance of an object.

В настройках проекта стоит калка "Include IIS settings as configured in IIS", при билде MSDeploy пробует найти ваш сайт на билд машине что бы скопипастить его настройки и не находит. Ибо нехер на билде сайты хостить ;) Для решения проблемы — снять галки "Include IIS settings as configured in IIS" для тех конфигураций вашего проекта, которые планируют собираться на билд машине.

G:\Work\CruiseControl\CI_on_DVCS\Src\CI_on_DVCS\CI_on_DVCS.csproj (142,3):

errorMSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

На билд машине нет MSBuild таргетов для деплоя. Либо ставим "Microsoft Visual Studio 2010 Shell Redistributable Package" (http://www.microsoft.com/en-us/download/details.aspx?id=115 или microsoft.com Либо копируем пачку таргетов с дев машины в то же место на билд машине.

@otakuSiD:
otakuSiD

Что бы инициировать создание "Deployment Package" на билд сервере нужно установить "Web Deploy" (http://www.iis.net/download/webdeploy); "Microsoft Visual Studio 2010 Shell Redistributable Package" (http://www.microsoft.com/en-us/download/details.aspx?id=115 или microsoft.com

У меня на сервак "Microsoft Visual Studio 2010 Shell" не стала, поэтому я просто скопировал пачку таргетов с дев машины в то же место на билд машине (c:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\).

После этого билд сервер готов. Теперь нужно настроить "Package" свойства для веб приложений:

vishaljoshi.blogspot.com
msdn.microsoft.com

Запускать из "NAnt" можно вот так:

pastebin.com

@otakuSiD:
otakuSiD

errorMSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
MS придумывает годную фичу, но, как всегда, косячит в мелочах. Вот чего сразу нужные таргеты не положить? Схерали мне на билд машину студию ставить ради пары таргетов (ну или костыль в виде "Microsoft Visual Studio 2010 Shell (Integrated) Redistributable Package")?


stackoverflow.com
blog.siliconvalve.com

@otakuSiD:
otakuSiD

Global AssemblyInfo

stackoverflow.com

Способ запилить удобное проставление версий для сборок. Получится один глобальный "AssemblyInfo" файл с номерами версий, инфе о компании, копирайтами и прочей шняге, повторяющейся во всех проектах одного солюшена. И локальные "AssemblyInfo" файлы с уникальной для каждого проекта инфой.

При очередном билде интегрейшн сервер меняет номер версии в этом "глобальном" файле и она применяется ко всем сборкам в границах солюшена.

Главное не забыть из локальных, для каждого проекта, "AssemblyInfo" файлов выбрить строки повторяющиеся в глобальном "AssemblyInfo".

@otakuSiD:
otakuSiD

Жуец, а есть тут кто с проектом который юзает DVCS какую (Mercurial аль Git там) и интегрирутся с помощью CruiseControl.NET? Есть вопросец по поводу того как вы номера ревизии для билда проставляете. Они ведь у каждого в репе по своему генерятся, а хеши в качестве версии как то не принято юзать. Как кто эту задачу решает?

На Subversion проблемы небыло. Есть формат {major}.{minor}.{revision}.{build} и номер ревизии из репозитория берется, он уникален у всех. А с DVCS такое уже не прокатит.

@otakuSiD:
otakuSiD

Semantic Versioning


semver.org

@otakuSiD:
otakuSiD

Жуйц, а есть у кого книга Continuous Integration: Improving Software Quality and Reducing Risk от Paul Duvall. Или русский перевод Непрерывная интеграция. Улучшение качества программного обеспечения и снижение риска в электронном виде?

Как не странно но в интернетах ее нету. Тотально подчисчают чтоле О_о

@zEvg:
zEvg

Как приятно видеть строку "BUILD SUCCESSFUL". При этом понимаешь что 4 месяца потраченные на написание фреймворка, развертывания сервера под Hudson, SeleniumGrid, написания svn-hook прошли не зря. dl.dropbox.com — на картинке в консоле htop c сервера hudson|seleniumGrid и машины на которой крутятся боты Selenium RC, на компе рядом непосредственно боты, которые производят тестирование.
Теперь дело за малы, обучить этому всему тестеров :))

@zEvg:
zEvg

Люблю такие мануалы, где все просто, понятно и красиво(!). jenkins-php.org

@peterkur:
peterkur

А кто чем пользуется для CI в питоновских проектах?

@wwarlock:
wwarlock

Никаких открытий на #webinar #huson не было, зато услышал голос Самого

@wwarlock:
wwarlock

Сегодня будет вебинар по #Hudson / #Jenkins CI
Разработчик системы в качестве докладчика
bit.ly