Ярлыки

воскресенье, 11 декабря 2016 г.

Мониторинг WordPress при помощи Application Insights

Устанавливаем в WordPress плагин Application Insights и активируем его.



В Azire Portal cоздаём экземпляр Application Insights и в разделе "Properties" копируем "INSTRUMENTATION KEY".


Далее идем в WordPress в раздел "Settings" -> "Application Insights" добавляем наш Instrumentation Key.


Сохраняем изменения и проверяем появление скрипта на страницах сайта.



Всё готово, через некоторое время данные начнут поступать в Application Insights и станут доступны на Azure Portal.




пятница, 9 декабря 2016 г.

VSTS tricks. Как изменить 100500 Build Definitions за один раз

Вопрос


Допустим Вы хотите изменить какой-то общий параметр сразу во всех Build Definitions. Например, путь для выгрузки артефактов.


Как это сделать? Ни экспорта/импорта, ни PowerShell модулей в 2016 году для VSTS не существует. Но зато есть REST API.

Ответ


И так, чтобы получить доступ к API необходимо сгенерировать Personal access token.
Переходим в VSTS в раздел Account -> Security -> Personal access tokens -> Add


Задаём название, срок действия, нажимаем "Create Token".


Теперь приступаем к скрипту на PowerShel.
Сначала зададим основные параметры

$PAT - Только что сгенерированный токен
$Instance, $Project URL Вашего VSTS и название проекта, подробнее здесь.
$Version Актуальная версия API

Далее сформируем HTTP Get запрос для получения списка ID всех Build Definitions.

В ответ мы получим JSON с которым довольно удобно работать в PowerShell.
Так можно получить все ID.

$BuildDefinitionsIDs = $BuildDefinitionsList.value.id

Далее сделаем цикл, который будет проходить по всем  Build Definitions, выгружать описание в JSON и заменять необходимые параметры.
Тут логично ограничиться работой с JSON, но в моём случае старый адрес \\KR-VSOBUILD01 присутствует в самых разных шагах билда. Поэтому мне проще сохранить его описание в файл, произвести замену при помощи -Replace и потом прочитать из файла.


В выводе скрипта - результат для каждой Build Definitions


Скрипт целиком

понедельник, 31 октября 2016 г.

Как проверить доступность порта из Azure App Service (Web App)

Допустим, вы открыли доступ к своему on-premise SQL Server для приложения в Azure. Как проверить, что всё сделано правильно?

На Azure Portal открываем <App Service Name> -> Advanced Tools -> Go или проще https://<sitename>.scm.azurewebsites.net/ и попадаем в Kudu.


Далее выбираем Debug console -> CMD и в загрузившейся консоли пингуем наш SQL при помощи tcpping.

tcpping <sqladdress>:1443


среда, 19 октября 2016 г.

VSTS tricks. Как передать переменную из одного шага в другой

Вопрос

Как в Visual Studio Team Services передать переменную (например результат выполнения скрипта) из одного шага (задачи) билда/релиза в другой?

Ответ

Чтобы переменная была доступна между шагами (задачами) её необходимо определить специальным образом.
Выглядит это так: ##vso[task.setvariable]value

Пример

Определяем переменную
$Value = "ALL GLORY TO THE VSTS!"
Write-Host "##vso[task.setvariable variable=Testenv1;]$Value"


Читаем переменную
$MyVar = (Get-ChildItem Env:Testenv1).Value
Write-Verbose "My variable is $MyVar" -Verbose