Тул или пару строчек на баше?
Aug. 16th, 2016 04:35 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
https://github.com/ahmetalpbalkan/govvv
Софтина на голанге, вызывающая go build с параметрами, устанавливающими переменные с версией, датой сборки, идентификатором ревизии гита и прочим таким.
Я бы в жизни не додумался искать такую софтину, сделал бы в скрипте вызов $(git rev-parse HEAD) и впихнул ее вывод в -ldflags, а вот однако ж - бывает. Хрен знает, насколько хорошо тащить все червей из всех закоулков гитхаба ради условного "взять готовое решение".
Софтина на голанге, вызывающая go build с параметрами, устанавливающими переменные с версией, датой сборки, идентификатором ревизии гита и прочим таким.
Я бы в жизни не додумался искать такую софтину, сделал бы в скрипте вызов $(git rev-parse HEAD) и впихнул ее вывод в -ldflags, а вот однако ж - бывает. Хрен знает, насколько хорошо тащить все червей из всех закоулков гитхаба ради условного "взять готовое решение".
no subject
Date: 2016-08-16 05:18 pm (UTC)Я действительно пробовал писать на шелле аккуратно. Очень быстро выясняется, что ой. Ну, чтоб не быть голословным - конструкцию вида try-finalize там сделать можно, но только в один уровень. Что, в общем, логично, ибо trap - это перехватчик не исключений, а сигналов, другая семантика. Но сразу приходится рисовать прорву вложенных if, в которых элементарно запутаться. Будет хуже, чем на го.
Это я не шибко сложные, но и не вполне тривиальные скрипты бэкапа писал. Кончилось тем, что они были переписаны на перле (perl был выбран потому, что мне бэкапить в основном дебианы, perl там по определению есть).
no subject
Date: 2016-08-16 05:38 pm (UTC)Тоже переписал на перле, да :)
no subject
Date: 2016-08-17 03:43 pm (UTC)двухпятистрочника — всосать пяток переменных из контроля версий — чуть что не так и досвидос. Эксепшн один — exit 255.