Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 08:02
Оценка:
У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора? Если да, то какими средствами, насколько геморройно было сделать и потом поддерживать? Если нет, то какие действия остались ручными?

И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?
release релиз автоматизация сайт регистратор скрипт
Re: Автоматизация релиза
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 17.07.20 08:09
Оценка: -1
ЕМ> У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора? Если да, то какими средствами, насколько геморройно было сделать и потом поддерживать?

А в чём проблема-то? Средство штатное — msbuild,
книжка есть, где написано, как прикручивать любой тулчейн (C++)
— 2011, Sayed Ibrahim Hashimi & William Bartholomew, Inside the Microsoft Build Engine. Using MSBuild

ЕМ> Если нет, то какие действия остались ручными?


Про регистраторов не знаю, но должно тоже автоматизироваться по-идее.

ЕМ> И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?


Полная пересборка, частичная пересборка, в книжке описано как их делать.
Re: Автоматизация релиза
От: CyberDemon Россия  
Дата: 17.07.20 08:26
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора? Если да, то какими средствами, насколько геморройно было сделать и потом поддерживать? Если нет, то какие действия остались ручными?


ЕМ>И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?


Сначала автоматизационный bat-ник
Потом пришлось коснуться питона, показалось интересным, теперь у меня автоматизационный py-тник
Один раз все сделать и потом ничего не трогать, ибо работает.
Re[2]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 08:38
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>А в чём проблема-то? Средство штатное — msbuild,

ЭФ>книжка есть, где написано, как прикручивать любой тулчейн (C++)

Хм, мне казалось, что я достаточно ясно сформулировал вопрос. То, что можно прикрутить любой тулчейн, ясно и ребенку — вопрос в том, как именно этот тулчейн должен работать, чтобы при сбое посреди процесса не получилось неразберихи.

ЭФ>Про регистраторов не знаю


Так в этом и заключается бОльшая часть задачи. Сборка бинарников — процесс полностью локальный, это можно делать разными способами, и ни один не чреват рассинхронизацией глобальных состояний (сайт, регистратор и все остальное в интернете).
Re: Автоматизация релиза
От: Crimson  
Дата: 17.07.20 08:38
Оценка:
cmd + Скрипты на питоне

сборка, подписи, выкладывание на сайт, создание сообщения о релизе.
Re[2]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 08:41
Оценка:
Здравствуйте, CyberDemon, Вы писали:

CD>Сначала автоматизационный bat-ник

CD>Потом пришлось коснуться питона, показалось интересным, теперь у меня автоматизационный py-тник
CD>Один раз все сделать и потом ничего не трогать, ибо работает.

А если в очередной раз не сработает? Например, при обновлении сайта отвалился интернет, и часть файлов/ссылок осталась необновленной. Или у регистратора файл с продуктом обновили, а ключи обновить не получилось.
Re[3]: Автоматизация релиза
От: Crimson  
Дата: 17.07.20 08:46
Оценка:
ЕМ>А если в очередной раз не сработает? Например, при обновлении сайта отвалился интернет, и часть файлов/ссылок осталась необновленной. Или у регистратора файл с продуктом обновили, а ключи обновить не получилось.

после обновления, все проверяется, автоматизировано скачиваются файлы, проверяются хэши, загружаются страницы (в моем случае запрашиваются сервисы) проверяется на соответсвие версий, текста и т.п.
Отредактировано 17.07.2020 8:47 Crimson . Предыдущая версия .
Re[3]: Автоматизация релиза
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 17.07.20 08:48
Оценка:
ЕМ> чтобы при сбое посреди процесса не получилось неразберихи.

В случае сбоя процесс завершится с кодом ошибки и о наличии ошибки станет известно.

ЕМ> рассинхронизацией глобальных состояний (сайт, регистратор и все остальное в интернете)


Если процесс закончится успешно — рассинхронизаций не будет.

А ошибки автоматически исправить нельзя, надо разбираться, в чём их суть.
Re: Автоматизация релиза
От: Черный Властелин Австралия https://www.softperfect.com
Дата: 17.07.20 08:51
Оценка: 12 (1)
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?

Как я уже упоминал, у мну FinalBuilder. Обработка ошибок в общемто автоматическая, скрипт останавливается если возникла ошибка.

Есть try..except, try..finally блоки — это такой визуальной скрипт, я очень быстро освоил его фичи.


  Выглядит примерно так
Re[4]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 08:55
Оценка:
Здравствуйте, Crimson, Вы писали:

C>после обновления, все проверяется, автоматизировано скачиваются файлы, проверяются хэши, загружаются страницы (в моем случае запрашиваются сервисы) проверяется на соответсвие версий, текста и т.п.


А если что-то пойдет не так, оно в автоматическом режиме сумеет все исправить, или уже нужно будет руками?
Re[4]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 08:57
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>В случае сбоя процесс завершится с кодом ошибки и о наличии ошибки станет известно.


Я правильно понимаю, что конкретно у Вас автоматизация заключается только в сборке через MSBuild, но Вам нравится давать абстрактные и универсальные советы?
Re[2]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 09:00
Оценка:
Здравствуйте, Черный Властелин, Вы писали:

ЧВ>Выглядит примерно так


Из этого все, кроме заливки, у меня уже сделано на скриптах. Основной геморрой возникает при ручном обновлении продуктов у регистраторов (PayPro и Avangate). Так что прежде всего интересует, насколько удобно/надежно обновлять через их API.
Отредактировано 17.07.2020 16:35 Евгений Музыченко . Предыдущая версия .
Re[3]: Автоматизация релиза
От: Черный Властелин Австралия https://www.softperfect.com
Дата: 17.07.20 09:54
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Из этого все, кроме заливки, у меня уже сделано на скриптах. Основной геморрой возникает при ручном обновлении продуктов у регистраторов (PayPro и Avangate). Так что прежде всего интересует, насколько удобно/надежно обновлять через их API.

Хм, а что там нужно обновлять у регистратора? Я как завел продукты, туда больше не лазил.
Re: Автоматизация релиза
От: drVanо Россия https://vmpsoft.com
Дата: 17.07.20 09:54
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора? Если да, то какими средствами, насколько геморройно было сделать и потом поддерживать? Если нет, то какие действия остались ручными?


ЕМ>И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?


Пользуемся Bamboo: сборка, тестирование, выкладывание на FTP.
Re: Автоматизация релиза
От: шароварный желудь Интернет  
Дата: 17.07.20 10:06
Оценка: 12 (1) +1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора? Если да, то какими средствами, насколько геморройно было сделать и потом поддерживать? Если нет, то какие действия остались ручными?


похопэ скрипт, написал 15 лет назад, все работает, ну и не трогаю
ребилд, защита, инсталлеры, подписи, новости, сайт, и т.д.

релиз выглядит как:
— написание списка "что нового" по мотивам лога SVN
— указание нового номера версии
— запустить скрипт
— коммит в SVN
— апдейт из SVN на сервере

5 минут на всё, не понимаю смысла всех этих систем сборки

ЕМ>И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?


если что-то пошло не так (билд не сбыдлился или подписью не подписалось),
то все упадет с ошибкой — ну исправил, перезапустил, какое там восстановление и зачем
Re[5]: Автоматизация релиза
От: Crimson  
Дата: 17.07.20 11:35
Оценка:
ЕМ>А если что-то пойдет не так, оно в автоматическом режиме сумеет все исправить, или уже нужно будет руками?

Можно еще раз запустить если проблемы технические, а если проблемы действительно проблемы то только руками
может быть все что угодно. на то они и проблемы
Re[2]: Автоматизация релиза
От: Crimson  
Дата: 17.07.20 11:39
Оценка:
А почему в самом инносетапе не настроишь подпись?
В твоем варианте анинсталлер остается неподписанным.
сам инно умеет подписывать как анинсталлер так и сам инсталлер.
Re: Автоматизация релиза
От: NWP Россия  
Дата: 17.07.20 11:40
Оценка: 19 (2)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?


Я как шароварщик-одиночка, однажды осознал, что сборка и публикация дистрибутива стала занимать у меня неприлично много времени. Поэтому я настроил себе так: при комите в спец.ветку в гит
— компилируется код и прогоняются все тесты
— из бинарников выдирается номер(версия) релиза
— файлы с отладочными данными копируются в спец папку
— номер версии вносится в скрипты сборки дистрибутивов
— собираются дистрибутивы в msi, в zip и в NuGet
— старые дистрибутиве на сайте копируются в папку для старых дистров
— новы дистрибутивы заменяют старые
— выкладывается пакет в нугет репозитарий
— обновляется новая версия на сайте
— в репозитории ставится метка, что данный коммит опубликован.

Ручная работа:
— Присвоить номер (версию) очередному релизу.
— смержить из рабочей ветки в Дистрибутивную
— пока там все собирается и выкладывается написать на форум release notes

У агрегатора ничего менять не надо вроде. Номера версий я там из описаний убрал.
Ключи генерятся через IPN. Что там еще у регистратора?

Когда ломается то приходится смотреть по ситуации. В большинстве случае достаточно перезапустить скрипт. Приходилось и руками править/откатывать что-то. Но это очень редко.
Файлы заливаются по фтп. Обычно только там и ломается. Файлы я вначале заливаю под временным именем и после успешной заливки всех файлов уже произвожу замену. Если сломалось именно на этапе замены, то приходится вручную исправлять и доделывать то, что не сделал скрипт — это гемор. Но бывает слава богу очень редко.
Отредактировано 17.07.2020 11:49 NWP . Предыдущая версия .
Re: Автоматизация релиза
От: bnk СССР http://unmanagedvisio.com/
Дата: 17.07.20 12:20
Оценка: 12 (1)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора? Если да, то какими средствами, насколько геморройно было сделать и потом поддерживать? Если нет, то какие действия остались ручными?


Я сейчас все на Azure Pipelines перевел (yaml + powershell скрипты). Все работает, все бесплатно

Автоматически делается
— Обновление версии в исходниках из конфига,
— сборка бинарников из исходников,
— тесты,
— сборка инсталляторов,
— подписывание,
— выкладывание на сайт по FTP и на части github (через GIT, понятно)
— генерируется заготовка release notes на основе коммитов (у меня код на GH, в закрытом репозитории)
— на сайте обновляется страница скачки.

Вручную
— задается мажорный номер версии в yaml (build проставляется текущей датой + номер сборки)
— Пишется release notes на сайте.

А что именно обновлять у регистратора? У меня PP, ключ генерируется на моем сервере.

ЕМ>И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?


Можно пример, что там восстанавливать.. Просто запустить процесс еще раз да и все?
Отредактировано 17.07.2020 12:21 bnk . Предыдущая версия .
Re[3]: Автоматизация релиза
От: bnk СССР http://unmanagedvisio.com/
Дата: 17.07.20 13:35
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Хм, мне казалось, что я достаточно ясно сформулировал вопрос. То, что можно прикрутить любой тулчейн, ясно и ребенку — вопрос в том, как именно этот тулчейн должен работать, чтобы при сбое посреди процесса не получилось неразберихи.


Я думаю тут важно, что версия например должна задаваться строго вручную, тогда процесс можно перезапускать сколько угодно раз с тем же результатом.
Релиз ноты не должны автоматом аппендиться, ну и т.п. Иденпотентность важна в общем
Отредактировано 17.07.2020 13:37 bnk . Предыдущая версия .
Re[5]: Автоматизация релиза
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 17.07.20 15:26
Оценка: -1
ЕМ> Я правильно понимаю, что конкретно у Вас автоматизация заключается только в сборке через MSBuild

Там можно дописывать произвольный код в процесс сборки, это удобно.

ЕМ> но Вам нравится давать абстрактные и универсальные советы?


Способность абстрактно мыслить — это полезная способность.

Если рассуждать абстрактно, то нужно что-то вроде "транзакций",
чтобы можно было откатиться на состояние до начала процесса в случае ошибки.

Для того, чтобы такое сработало с регистратором,
API регистратора должно поддерживать такую функциональность.
Отредактировано 17.07.2020 15:32 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 17.07.2020 15:27 Эйнсток Файр . Предыдущая версия .
Re[6]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 15:45
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Если рассуждать абстрактно, то нужно что-то вроде "транзакций",

ЭФ>чтобы можно было откатиться на состояние до начала процесса в случае ошибки.

Спасибо, КО. Вы реально полагаете, что я всего этого не знаю, или просто очень хочется высказаться хоть как-нибудь? Дураку понятно, что вопрос был о конкретике, и почти все остальные поделились реально полезной информацией.
Re: Автоматизация релиза
От: Михaил  
Дата: 17.07.20 16:22
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора? Если да, то какими средствами, насколько геморройно было сделать и потом поддерживать? Если нет, то какие действия остались ручными?


ЕМ>И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?


У меня обычный баш скрипт, который компилирует, подписывает, заливает на сайт. После каждой операции проверяется код ошибки, если он ненулевой — то Пишет красным текстом «ошибка на таком то шаге». Каждый шаг выводится в терминал. Если что то пошло не так — например, не компилируется, то после ошибки скрипт прерывается. Исправляю ошибку, и перезапускаю.
Re[4]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 16:30
Оценка:
Здравствуйте, Черный Властелин, Вы писали:

ЧВ>Хм, а что там нужно обновлять у регистратора?


У меня там традиционно версия, URL триальной сборки (как я понимаю, это для каких-то их собственных каталогов), Final Messages, в которых ссылки на полную сборку, и т.п. Я к такой схеме привык еще с тех пор, пока у меня сайт хостился в институте у коллег, и мог упасть, например, на выходные.

По идее, наверное, действительно можно все убрать, и сделать редиректы на свой сайт. У HostGator'а аптайм достаточно приличный.
Re[2]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 16:32
Оценка:
Здравствуйте, CyberDemon, Вы писали:

CD>Сначала автоматизационный bat-ник


Их у меня много.

CD>Потом пришлось коснуться питона, показалось интересным, теперь у меня автоматизационный py-тник


Питон для таких дел чем-то радикально удобнее JS? Я недавно сделал на JS несколько локальных скриптов, не хотелось бы подключать еще и третий язык.
Re[4]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 16:34
Оценка:
Здравствуйте, Crimson, Вы писали:

C>после обновления, все проверяется, автоматизировано скачиваются файлы, проверяются хэши, загружаются страницы (в моем случае запрашиваются сервисы) проверяется на соответсвие версий, текста и т.п.


Заливаете сразу в основные каталоги сайта, или сперва делаете локальную копию дерева, которая после завершения обновления подставляется вместо прежней?
Re[4]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.07.20 16:42
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Я думаю тут важно, что версия например должна задаваться строго вручную, тогда процесс можно перезапускать сколько угодно раз с тем же результатом.


Это если на сайт заливать тупым пофайловым копированием. Но с сайтом в этот же самый момент может работать хренова гора народу, а на страницах есть ссылки друг на друга. По уму, на время обновления надо бы сайт или отключить, или формировать новое дерево в отдельной копии, а затем подставить вместо основного. Тут уже предыдущее состояние может быть важным.
Re[5]: Автоматизация релиза
От: bnk СССР http://unmanagedvisio.com/
Дата: 17.07.20 18:45
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЧВ>>Хм, а что там нужно обновлять у регистратора?


ЕМ>У меня там традиционно версия, URL триальной сборки (как я понимаю, это для каких-то их собственных каталогов), Final Messages, в которых ссылки на полную сборку, и т.п. Я к такой схеме привык еще с тех пор, пока у меня сайт хостился в институте у коллег, и мог упасть, например, на выходные.

ЕМ>По идее, наверное, действительно можно все убрать, и сделать редиректы на свой сайт. У HostGator'а аптайм достаточно приличный.

У меня с регистратора ссылка на последнюю версию (то есть, на файл без версии), также нет упоминаний о версии в тексте.
Чтобы скачать предыдущие версии, есть отдельная страница на сайте.
Я пользую плагин к вордпресс, там кнопка есть чтобы эту страницу обновить (нажимаю вручную)
Re[7]: Автоматизация релиза
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 17.07.20 19:33
Оценка:
ЕМ> Вы реально полагаете, что я всего этого не знаю

Да, вы реально не знаете, что предоставляет вам ваш регистратор.
Иначе бы не было вопроса — есть у него такая возможность или нет.

Реализация закачивания в другую директорию с атомарным переключением
от старой версии к новой версии — это то, что должен был вам предоставить
регистратор, но вы думаете как это сделать своими руками.

Правильное решение здесь — выбрать регистратора,
который предоставляет такую возможность.
Или у текущего регистратора попросить её реализовать и долго ждать.

Если же у вас своё ПО отвечает за хостинг, то транзакционность должно обеспечить оно,
и вопрос о том как это делается — это вопрос к программисту, т.е. к вам.
На сервере-на хостинге делаете демона, который обеспечивает API с транзакциями,
на компьютере проводящем деплоймент пользуетесь транзакциями.
Отредактировано 17.07.2020 19:39 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 17.07.2020 19:36 Эйнсток Файр . Предыдущая версия .
Отредактировано 17.07.2020 19:34 Эйнсток Файр . Предыдущая версия .
Отредактировано 17.07.2020 19:33 Эйнсток Файр . Предыдущая версия .
Отредактировано 17.07.2020 19:33 Эйнсток Файр . Предыдущая версия .
Re[5]: Автоматизация релиза
От: Crimson  
Дата: 18.07.20 14:46
Оценка:
ЕМ>Заливаете сразу в основные каталоги сайта, или сперва делаете локальную копию дерева, которая после завершения обновления подставляется вместо прежней?

Файлы именуются program_installer_versionnumber.exe
соответсвенно пока в бд не появится запись о новой версии файл никто не качает.
Re: Автоматизация релиза
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 18.07.20 15:51
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора?


А что ты собрался обновлять у регистратора? Не, я понимаю, есть варианты, когда ты загружаешь туда списки прегенеренных ключей, но вообще это решается. У PPG есть возможность вызвать колбэк с твоего сайта, который и сгенерит ключик. Думаю, у других регистраторов аналогичные возможности тоже есть, 2020 год уже, всё же
Маньяк Робокряк колесит по городу
Re[2]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.07.20 09:00
Оценка:
Здравствуйте, шароварный желудь, Вы писали:

ШЖ>похопэ скрипт


Локальный, или на сервере? Если на сервере — сборка тоже там?

ШЖ>ребилд, защита, инсталлеры, подписи, новости, сайт, и т.д.


Сайт отдает новости и бинарники из базы, или при обновлении туда загружаются отдельные файлы, правятся ссылки и т.п.?
Re[2]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.07.20 09:03
Оценка:
Здравствуйте, NWP, Вы писали:

NWP>Я как шароварщик-одиночка, однажды осознал, что сборка и публикация дистрибутива стала занимать у меня неприлично много времени.


Такая же фигня, потому и поднял тему. Дело даже не во времени, а в количестве взаимозависимых сущностей, в обработке которых важно ничего не перепутать.
Re[3]: Автоматизация релиза
От: шароварный желудь Интернет  
Дата: 19.07.20 09:25
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ШЖ>>похопэ скрипт

ЕМ>Локальный, или на сервере? Если на сервере — сборка тоже там?

Локальный, запускаю в консоли, все сообщения/ошибки перед глазами.

ШЖ>>ребилд, защита, инсталлеры, подписи, новости, сайт, и т.д.


ЕМ>Сайт отдает новости и бинарники из базы, или при обновлении туда загружаются отдельные файлы, правятся ссылки и т.п.?


Сайт практически весь статика, есть несколько включений в виде asp.net контролов,
сайт полностью пересобирается локально, все ссылки, новости и т.д.,
там свой простой шаблонизатор написанный тоже в нулевых, не вижу там повода для бд.

ну и когда все скриптом собралось/перегенерилось, коммит с локальной машины в SVN,
на сервере апдейт из SVN и синхронизация в wwwroot
Re[4]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 25.07.20 11:08
Оценка:
Здравствуйте, шароварный желудь, Вы писали:

ШЖ>Сайт практически весь статика, есть несколько включений в виде asp.net контролов,

ШЖ>сайт полностью пересобирается локально, все ссылки, новости и т.д.,
ШЖ>там свой простой шаблонизатор написанный тоже в нулевых

Шаблонизатор, как я понимаю, для создания итоговой HTML-разметки? Не напрягает писать текст в таком формате? Это ж, по сути, как HTML вручную писать.
Re[2]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 25.07.20 11:11
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>А что именно обновлять у регистратора? У меня PP, ключ генерируется на моем сервере.


У меня PayPro и Avangate, но приделать проверку ключей никак руки не дойдут — покупателям до сих пор дается краткая инструкция по скачиванию полной версии, с приватной ссылкой. Как это будет правильнее сделать без обновления описания продукта у регистратора — редиректом на свой сайт, или отдавать регистратору инструкцию под видом ключевой информации? Страницу текста ж оно потянет?
Re[3]: Автоматизация релиза
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.07.20 18:42
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, bnk, Вы писали:


bnk>>А что именно обновлять у регистратора? У меня PP, ключ генерируется на моем сервере.


ЕМ>У меня PayPro и Avangate, но приделать проверку ключей никак руки не дойдут — покупателям до сих пор дается краткая инструкция по скачиванию полной версии, с приватной ссылкой. Как это будет правильнее сделать без обновления описания продукта у регистратора — редиректом на свой сайт, или отдавать регистратору инструкцию под видом ключевой информации? Страницу текста ж оно потянет?


Я бы в таком случае отдавал страницу текста вместо ключа. Как там редирект вообще сделать-то? Ключ же в письме приходит, допустим в ПП.
Re[4]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 26.07.20 07:25
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Как там редирект вообще сделать-то?


То ли у PayPro, то ли у Avangate я в настройках продукта точно видел возможность редиректа на заданный URL после завершения обработки заказа.

bnk>Ключ же в письме приходит, допустим в ПП.


Кстати, насколько часто Ваши покупатели жалуются, что письмо с ключом не приходит? У меня упомянутая инструкция со ссылками отправляется через email delivery, и почти каждый день народ жалуется, что получил только основное письмо с инвойсом. Не могу понять, то ли это обычные проблемы рассылки, то ли чрезмерно бдительные почтовые серверы прибивают письма, содержащие ссылки на EXE/ZIP.
Re[5]: Автоматизация релиза
От: bnk СССР http://unmanagedvisio.com/
Дата: 26.07.20 09:28
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

bnk>>Ключ же в письме приходит, допустим в ПП.


ЕМ>Кстати, насколько часто Ваши покупатели жалуются, что письмо с ключом не приходит? У меня упомянутая инструкция со ссылками отправляется через email delivery, и почти каждый день народ жалуется, что получил только основное письмо с инвойсом. Не могу понять, то ли это обычные проблемы рассылки, то ли чрезмерно бдительные почтовые серверы прибивают письма, содержащие ссылки на EXE/ZIP.


Периодически. Но тут я сам виноват — мои письма шли в спам.
У меня записи (SPF, DKIM) на namecheap "слетели" после того как выключил CloudFlare.
У них кнопка есть в cpanel "починить", которая их настраивает ("Email Deliverability"), нажал — почта заработала (в спам перестало идти)
Отредактировано 26.07.2020 9:36 bnk . Предыдущая версия . Еще …
Отредактировано 26.07.2020 9:35 bnk . Предыдущая версия .
Re: Автоматизация релиза
От: zverjuga Беларусь  
Дата: 26.07.20 10:25
Оценка:
jenkins?
проклятый антисутенерский закон
Re[6]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 26.07.20 14:38
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>>>Ключ же в письме приходит, допустим в ПП.


bnk>У меня записи (SPF, DKIM) на namecheap "слетели" после того как выключил CloudFlare.


Тогда я не понял, что означало "допустим в ПП". Я это истолковал, как отсылку письма от имени PayPro. А на самом деле как?
Re[7]: Автоматизация релиза
От: bnk СССР http://unmanagedvisio.com/
Дата: 27.07.20 00:22
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, bnk, Вы писали:


bnk>>>>Ключ же в письме приходит, допустим в ПП.


bnk>>У меня записи (SPF, DKIM) на namecheap "слетели" после того как выключил CloudFlare.


ЕМ>Тогда я не понял, что означало "допустим в ПП". Я это истолковал, как отсылку письма от имени PayPro. А на самом деле как?


Сорри, запутал
У меня ключ в принципе уже есть в первом письме от paypro.
Письмо с ключем от paypro иногда уходит в спам, но это скорее исключение.

А вот письма напрямую от меня (с моего сервера) уходили в спам практически через одно в течение последних нескольких месяцев, пока не починил SPF / DKIM записи на своем сервере.
Если у тебя ключ (или "ссылка на полную версию") посылается письмом с твоего сервера, я бы проверил эти DKIM / SPF записи.
Отредактировано 27.07.2020 0:27 bnk . Предыдущая версия .
Re[5]: Автоматизация релиза
От: шароварный желудь Интернет  
Дата: 27.07.20 07:08
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ШЖ>>Сайт практически весь статика, есть несколько включений в виде asp.net контролов,

ШЖ>>сайт полностью пересобирается локально, все ссылки, новости и т.д.,
ШЖ>>там свой простой шаблонизатор написанный тоже в нулевых

ЕМ>Шаблонизатор, как я понимаю, для создания итоговой HTML-разметки?


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

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

потом создаю исходный файл в котором прямо сразу пишу контент в виде чистого html

генератор из темплейта и конфига создает страницы

ЕМ>Не напрягает писать текст в таком формате? Это ж, по сути, как HTML вручную писать.


Ну да, чистый HTML, пишу в notepad++, не напрягает,
при написании контента использую 5-10 тэгов, не больше,
мне сам контент родить гораздо сложнее чем оформить его.
Re[8]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.07.20 09:53
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Письмо с ключем от paypro иногда уходит в спам, но это скорее исключение.


У меня приватная ссылка для скачивания полной версии тоже отправляется PayPro. Но жалуются на недоставку часто — иногда по нескольку раз в день. Некоторые в итоге находят эти письма в спаме, но в большинстве случаев они теряются по дороге. Что наводит на мысли о фильтрации писем, содержащих ссылки на исполняемый файл или ZIP-архив.
Re[6]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.07.20 10:30
Оценка:
Здравствуйте, шароварный желудь, Вы писали:

ШЖ>Ну да, чистый HTML, пишу в notepad++, не напрягает,

ШЖ>при написании контента использую 5-10 тэгов, не больше,
ШЖ>мне сам контент родить гораздо сложнее чем оформить его.

Само собой, что родить сложнее. Меня при редактировании чистого HTML, особенно оторванного от контекста, больше всего раздражает поддержание структуры тэгов и удобного форматирования. Для NotePad++ есть удобные примочки в этом плане?
Re[7]: Автоматизация релиза
От: шароварный желудь Интернет  
Дата: 27.07.20 11:02
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Само собой, что родить сложнее. Меня при редактировании чистого HTML, особенно оторванного от контекста, больше всего раздражает поддержание структуры тэгов и удобного форматирования. Для NotePad++ есть удобные примочки в этом плане?


думаю что есть, там вроде живое коммьюнити, плагины и т.д.
мне достаточно подсветки синтаксиса и автозакрытия тегов

я могу понять нежелание видеть голый html у нетехнарей,
но программисту, как мне кажется, вообще норм
Re[8]: Автоматизация релиза
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.07.20 12:56
Оценка:
Здравствуйте, шароварный желудь, Вы писали:

ШЖ>я могу понять нежелание видеть голый html у нетехнарей,

ШЖ>но программисту, как мне кажется, вообще норм

Тут дело не в том, программист или нет, а в том, что отсутствие ошибок приходится проверять глазами. Когда ошибки в программе — их ловят компилятор или встроенные средства отладки, а ошибки в тэгах голого HTML иначе, как просмотром, не найдешь. А в разных браузерах реакция на ошибку часто отличается. Ну, или подключать какие-то средства автоконтроля.
Re[2]: Автоматизация релиза
От: Михaил  
Дата: 28.07.20 08:59
Оценка:
Здравствуйте, CyberDemon, Вы писали:

CD>Здравствуйте, Евгений Музыченко, Вы писали:


ЕМ>>У кого-нибудь сделана полная автоматизация релиза — от сборки бинарников до обновления данных на сайте и у регистратора? Если да, то какими средствами, насколько геморройно было сделать и потом поддерживать? Если нет, то какие действия остались ручными?


ЕМ>>И как решается вопрос с восстановлением, если в середине процесса что-то пошло не так?


CD>Сначала автоматизационный bat-ник

CD>Потом пришлось коснуться питона, показалось интересным, теперь у меня автоматизационный py-тник
CD>Один раз все сделать и потом ничего не трогать, ибо работает.

Вы пользуетесь каким-то расширением, вроде shellpy? Имхо, голый питон крайне неудобен для shell скриптинга.
Re[3]: Автоматизация релиза
От: CyberDemon Россия  
Дата: 28.07.20 09:15
Оценка:
Здравствуйте, Михaил, Вы писали:

М>Вы пользуетесь каким-то расширением, вроде shellpy? Имхо, голый питон крайне неудобен для shell скриптинга.

Гуглю python find files, смотрю методы, улучшаю скрипт.
Гуглю python open write file, смотрю, что выдаст, улучшаю скрипт.
Вот так незатейливо я сделал нужный мне скрипт и забыл про него
ShellPy в числе результатов не наблюдал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.