Заметки и замечания, рассказы и пересказы

Позднее Ctrl + ↑

Лучший мужской подарок

Попалась на глаза самопальная реклама в ВК. Кадр из Frieren: Beyond Journey’s End (Sousou no Frieren), где главная героиня предлагает подарок для парня — флакончик с жидкостью, позволяющей растворять одежку и обнажая тем самым все естественное и не безобразное. Мастера фотошопа и быстрой рекламы подсуетились, сделали немного свое :)

Алкошоколад

Раньше нужна бутылка и шоколадка.. теперь все гораздо проще — достаточно шоколадки :)

Чатовое общение

В последнее время начал замечать, некоторые люди общаются в электронной почте, будто это какой-то чат. Раньше тоже бывало по некоторому количеству писем, где мысль писателя коротко растекалась среди этих писем. Сейчас же «мода» пошла дальше. Не долго думая, пишут свою короткую мысль сразу в теме письма и могут добавить еще несколько аналогичных писем. При этом тело письма не трогают совсем.

Получается что-то такое:

тема письма:
Добрый день. А почему вот так, а не так где там было и что-то еще

или

тема письма:
Вот я тут попробовала, а ничего не получилось. Как же так, ведь так же никак нельзя

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

Немного про экспорт из Gitlab

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

Самая большая и прекрасная примочка — rvojcik/gitlab-project-export. Прекрасный инструмент для экспорта и импорта данных. Его также можно использовать для бэкапирования данных. Автоматизировать с его помощью работу с API довольно таки удобно. Есть правда и минусы — нужно увеличивать лимиты в настройках Gitlab, а также готовить конфиг файлы для скрипта (при экспорте и импорте, а при импорте еще и создать руками новые репо).

А вот чтобы создать конфиги... право же, не руками же их делать! Нужно будет немного поработать с API Gitlab. Если коротко, то вот такая подсказка:

#!/bin/bash
GL_DOMAIN=""
GL_TOKEN=""
echo "" > gitlab_projects_urls.txt
for ((i=1; ; i+=1)); do
    contents=$(curl "$GL_DOMAIN/api/v4/projects?private_token=$GL_TOKEN&per_page=100&page=$i")
    if jq -e '. | length == 0' >/dev/null; then 
       break
    fi <<< "$contents"
    echo "$contents" | jq -r '.[].ssh_url_to_repo' >> gitlab_projects_urls.txt
done

Кому подсказки недостаточно для полноценной жизни, то добро пожаловать на github, где размещены скрипты целиком. Для работы с gitlab-project-export понадобится установить или скачать саму утилиту (ставится при наличии третьего питона как обычно — pip install gitlab-project-export). Краткое содержание по файликам выглядит следующим образом:

* start2.sh - запускает вереницу событий: на выходе список и сразу экспорт файлов
* start.sh - при наличии готового списка запускается экспорт
* config-creation.sh - обрабатывает config-template.yaml, дописывает в него репо и делает config.yaml 
* config-template.yaml - шаблон для gitlab-project-export.py (нужно указать URL и токен от Gitlab, а также директорию, где будут лежать файлы экспорта)
* config.yaml - готовый конфиг, делается из шаблона config-template.yaml 
* get-all-projects.sh - скрипт для получения списка проектов по API (нужно указать URL и токен от Gitlab)
* gitlab_path_with_namespace.txt - текстовый файл с проектами

Ссылка на гитхаб со скриптами:
https://github.com/skurudo/usefulbash/blob/main/gitlab-export-import/readme.md

Подарок из Африки

Неожиданное для меня открытие — довольно необычное (пока что) поздравление. Экзотика, одним словом :-)

Ранее Ctrl + ↓