Записки молодого девопсера – Telegram
Записки молодого девопсера
153 subscribers
94 photos
7 files
623 links
Здесь выкладываются различные команды и решения проблем, с которыми приходится сталкиваться, а также интересные статьи и видео из мира IT.
Download Telegram
Если нужно сделать из бинарника сервис, а виндовая утилита sc бессильна, то на помощь вам придет NSSM - the Non-Sucking Service Manager
https://nssm.cc
Загрузка файла на JFrog Artifactory (с датой модификации в 0 дней) с передачей хеш-сумм и интерактивным запросом токена:
read -sp 'Please, enter your token: ' TOKEN
FILE=$(find /path/to/file -mtime 0 -name "*.tar.gz")
echo -e "\nFile - $FILE"
echo "Hash sum computing..."
FILE_MD5=$(md5sum $FILE | awk '{print $1}')
echo "MD5 is done"
FILE_SHA1=$(sha1sum $FILE | awk '{print $1}')
echo "SHA1 is done"
FILE_SHA256=$(sha256sum $FILE | awk '{print $1}')
echo "SHA256 is done"

echo "Uploading..."
curl -# -k -H "X-Checksum-MD5:$FILE_MD5" -H "X-Checksum-Sha1:$FILE_SHA1" -H "X-Checksum-Sha256:$FILE_SHA256" -H "X-JFrog-Art-Api:$TOKEN" -T $FILE "https://url" | tee /dev/null
Список провайдеров, предоставляющих IPv6
https://version6.ru/isp
Составление словаря с с логином и паролем в base64 (изначально в виде user:password)
# Отдаешь файл с паролями и вставляешь в самом начале строки user
sed -i 's/^/user:/' darkweb2017-top1000.txt
# Кодируешь каждую строку в base64 и записываешь все в файл
awk '{system("echo "$1"|base64")}' darkweb2017-top1000.txt > base64.txt
# Декодируешь построчно из файла (для проверки)
awk '{system("echo "$1"|base64 -d")}' base64.txt
Forwarded from ranebull
Одна из самых крутых вещей из обновления Win10 1903)
Вот так это выглядит при нажатии Windows-V
Запуск джобы на нескольких gitlab-runner без дублирования кода и костылей:
.test_template: &build
stage: deploy
noscript:
- ls -al
allow_failure: false

build_one:
<<: *build
tags:
- serv1


build_two:
<<: *build
tags:
- serv2


С дублированием кода это бы выглядело вот так:
build_one:
stage: deploy
noscript:
- ls -al
tags:
- serv1
allow_failure: false


build_two:
stage: deploy
noscript:
- ls -al
tags:
- serv2
allow_failure: false


Если попробовать указать через tags 2 раннера
serv1 и serv2, то задача повиснет в статусе
pending, потому что логика Gitlab предполагает,
что на раннере должен висеть и тег serv1 и serv2.
Если к serv1 и serv2 добавить дополнительный тег serv,
то это тоже не сработает правильно, потому что опять та же логика
Gitlab будет выбирать свободный раннер и запускать на нем джобу.

Первоначальный вариант формирует шаблон, а затем уже подставляется в джобу с указанием тега