curl --silent --location rpm.nodesource.com | bash —
yum -y install nodejs
npm install npm -g
nodejs.org
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
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(v=vs.110).aspx#troubleshooting
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:
in the windows event logs on agent host:
— 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
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
— 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
jenkins.ncrmnt.org По коммиту в гитхаб проходит сборка, подается питание на железки, проходят тесты, после это хозяйство вырубается и генерируется мем.
CI здорового человека:
sedodream.com
Configuration transformation using task from Microsoft.Web.Publishing.Tasks inside the project file
Configuration transformation using task from Microsoft.Web.Publishing.Tasks inside the project file
while true; do
clear && cabal-dev build && $@
inotifywait -qq -e modify -r src/ *.cabal
done
вот и вся любовь...
Как запилить пакет для деплоя в облако при интеграции. Есть два способа: 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
Чего бы от него хотелось:
1. Запаковать скомпилированные сорцы.
2. Добавить в пакет метаданные для IIS
3. Развернуть пакет на удаленном серваке.
Если на серваке нужного сайта нет — создать, если есть — обновить метаданные при необходимости.
На данный момент добавить метаданные в пакет "MSDeploy" может только скопировав их с уже существующего сайта. И создавать сайт на серваке, если его нет, эта поделка не умеет.
Вобщем задумка хорошая, конфигурация гибкая, но для нормального использования в CI нихуя не годится :(
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). Либо копируем пачку таргетов с дев машины в то же место на билд машине.
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
Что бы инициировать создание "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 Visual Studio 2010 Shell" не стала, поэтому я просто скопировал пачку таргетов с дев машины в то же место на билд машине (c:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\).
После этого билд сервер готов. Теперь нужно настроить "Package" свойства для веб приложений:
vishaljoshi.blogspot.com
msdn.microsoft.com
Запускать из "NAnt" можно вот так:
pastebin.com
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
stackoverflow.com
Способ запилить удобное проставление версий для сборок. Получится один глобальный "AssemblyInfo" файл с номерами версий, инфе о компании, копирайтами и прочей шняге, повторяющейся во всех проектах одного солюшена. И локальные "AssemblyInfo" файлы с уникальной для каждого проекта инфой.
При очередном билде интегрейшн сервер меняет номер версии в этом "глобальном" файле и она применяется ко всем сборкам в границах солюшена.
Главное не забыть из локальных, для каждого проекта, "AssemblyInfo" файлов выбрить строки повторяющиеся в глобальном "AssemblyInfo".
На Subversion проблемы небыло. Есть формат {major}.{minor}.{revision}.{build} и номер ревизии из репозитория берется, он уникален у всех. А с DVCS такое уже не прокатит.