Полезности из мира Gitlab
https://docs.gitlab.com/ce/ci/yaml/#onlychanges-and-exceptchanges
Параметр
Простой пример работы этого параметра:
(Внимание! Изменение прав файла, например на 755, чтобы сделать его исполняемым, тоже считается изменением. Правда гитлаб в коммите показывает следующую запись:
https://docs.gitlab.com/ce/ci/yaml/#onlychanges-and-exceptchanges
Параметр
onlychanges позволяет запускать CI/CD процессы только в случаях, когда изменились конкретные файлы, либо группа файлов.Простой пример работы этого параметра:
changes_feature_test:Здесь процессы CI/CD начинают запускаться только после изменения содержимого shell-скрипта test.sh
noscript:
- ping -c4 8.8.8.8
- ./test.sh
only:
changes:
- test.sh
tags:
- changes_test
(Внимание! Изменение прав файла, например на 755, чтобы сделать его исполняемым, тоже считается изменением. Правда гитлаб в коммите показывает следующую запись:
File mode changed from 100644 to 100755)Gitlab
CI/CD YAML syntax reference | GitLab
GitLab product documentation.
Ansible-playbook для установки утилиты
Если вы используете Fedora, то у вас есть пакет
bat на RHEL-based дистрибутивы. Пакеты с данной утилитой пока никто не собирает, но на github есть готовые бинарники- name: get bat latest versionUPDATE
block:
- shell: curl --silent "https://api.github.com/repos/sharkdp/bat/releases/latest" | grep -Po '"tag_name"':' "\K.*?(?=")' warn=false
register: latest_release
- get_url:
url: https://github.com/sharkdp/bat/releases/download/{{latest_release.stdout}}/bat-{{latest_release.stdout}}-x86_64-unknown-linux-musl.tar.gz
dest: /tmp
- unarchive:
src: bat-{{latest_release.stdout}}-x86_64-unknown-linux-musl.tar.gz
dest: /tmp
- copy:
src: /tmp/bat-{{latest_release.stdout}}-x86_64-unknown-linux-musl/
dest: /usr/local/bat/
mode: preserve
- lineinfile:
path: ~/.bashrc
line: "alias bat='/usr/local/bat/bat'"
insertafter: 'mv'
- find:
paths: /tmp
file_type: any
patterns: bat*
register: bat_files_delete
- file:
path: "{{ item.path }}"
state: absent
with_items: "{{ bat_files_delete.files }}"
Если вы используете Fedora, то у вас есть пакет
bat в официальных репозиториях. Установить его можно командойdnf install bat
Forwarded from Записки админа
📚 Hacking for the Holidays by No Starch Press.
Очередной книжный бандл доступен по вкусной цене. На этот раз по большей части для тех, кто увлекается вопросами секурити. 😉
https://www.humblebundle.com/books/hacking-for-the-holidays-books
#security #книга
Очередной книжный бандл доступен по вкусной цене. На этот раз по большей части для тех, кто увлекается вопросами секурити. 😉
https://www.humblebundle.com/books/hacking-for-the-holidays-books
#security #книга
Humble Bundle
Humble Book Bundle: The Happy Hacking Holiday Bundle by No Starch Press
Pay what you want for awesome ebooks and support charity!
Забавное поведение RPM.
На прошлой неделе не стал разбираться почему команда
Сегодня добрался и выяснилось, что команда
UPDATE
Задал этот вопрос в русскоязычном чате сообщества Fedora.
Все было банально - экранируем запрос, чтобы локальные файлы не влияли на выдачу.
Т.е.
На прошлой неделе не стал разбираться почему команда
rpm -qa *gitlab*Ничего не возвращает на сервере с установленным гитлабом.
Сегодня добрался и выяснилось, что команда
rpm -qa | grep gitlabвыдает мне нужный пакет. И имеется предположение, что первая команда не выполнилась по причине того, что в директории, где я выполнял эту команду лежал файл, подходящий под регулярное выражение. И если перейти в другую директорию, например,
/tmp, то все отрабатывает успешно. Гугл пока что ничего не сказал по этому поводу.UPDATE
Задал этот вопрос в русскоязычном чате сообщества Fedora.
Все было банально - экранируем запрос, чтобы локальные файлы не влияли на выдачу.
Т.е.
rpm -qa "*gitlab*"или
rpm -qa \*gitlab\*
При восстановление Gitlab из бэкапов можно получить ошибку
Это означает, что сервис
В некоторых случаях сервису не хватает прав для директории
GRPC::Unavailable: 14:Connect Failed
Это означает, что сервис
gitaly не запущен и проверить в логах, что с ним случилось.В некоторых случаях сервису не хватает прав для директории
/tmpAwesome Docker resources and projects list
https://awesome-docker.netlify.com
https://awesome-docker.netlify.com
Write down a command-line to see the help text that matches each argument
https://explainshell.com
https://explainshell.com
Очевидно, но не сразу.
На домашнем ноутбуке у меня установлена Fedora Workstation (DE - Cinnamon).
И при поиске в меню по фразе
Оказалось, что сначала приоритет отдается полю
1. Получаем значение ключа
На домашнем ноутбуке у меня установлена Fedora Workstation (DE - Cinnamon).
И при поиске в меню по фразе
tele почему-то первым совпадением был Skype, а не телеграм. Оказалось, что сначала приоритет отдается полю
Comment в описании приложения и через стандартный редактор не получилось поменять этот коментарий для своей учетной записи. Зато я нашел, где это задается глобально (в данной случае для приложения Skype) в файле /usr/share/applications/skypeforlinux.desktop с помощью утилиты crudini (её нужно установить - dnf install crudini):1. Получаем значение ключа
Comment в секции Desktop Entry
# crudini --get /usr/share/applications/skypeforlinux.desktop "Desktop Entry" "Comment"2. Меняем значение на
Skype Internet Telephony
Skype
# crudini --set /usr/share/applications/skypeforlinux.desktop "Desktop Entry" "Comment" "Skype"Либо можно поправить ручками в вашем любимом текстовом редакторе
# crudini --get /usr/share/applications/skypeforlinux.desktop "Desktop Entry" "Comment"
Skype
Установка docker в Oracle Linux 7.
1. Установка при наличии сети
Включить репозитории
через yum-config-manager, либо ручками редактированием файла
Установка docker и запуск docker-демона выглядит следующим образом:
Для установки необходимо установить 2 пакета (версии пакетов актуальны на 26.12.2018):
1. Установка при наличии сети
Включить репозитории
ol7_latest, ol7_uekr и ol7_addonsчерез yum-config-manager, либо ручками редактированием файла
/etc/yum.repos.d/public-yum-ol7.repoУстановка docker и запуск docker-демона выглядит следующим образом:
yum install docker-engine2. Установка при отсутствии сети (или доступа в Интернет)
systemctl start docker && systemctl enable docker
Для установки необходимо установить 2 пакета (версии пакетов актуальны на 26.12.2018):
yum localinstall container-selinux-2.21-1.el7.noarch.rpm
yum localinstall docker-engine-18.03.1.ol-0.0.9.el7.x86_64.rpm
systemctl start docker && systemctl enable docker
set -eФункция
set -e используется в bash-скриптах и предназначена для выхода из скрипта, если на какой-то из команд получается не нулевой exit-code (код выхода). Функция
set +e меняет поведения на обратное (даже если код не нулевой, то выполнение скрипта не прекращается)Как выглядит регулярное выражение для валидации e-mail RFC822 (http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html)
Изменение локальной ветки в git и пуш этой ветки в удаленный git-репозиторий
git branch -m new-branch
git push origin :old-branch new-branchhttps://blog.github.com/2019-01-07-new-year-new-github/
Самая главная полезность для простых разработчиков:
Самая главная полезность для простых разработчиков:
For the first time, developers can use GitHub for their private projects with up to three collaborators per repository for free
The GitHub Blog
New year, new GitHub: Announcing unlimited free private repos and unified Enterprise offering
Today we’re announcing two major updates to make GitHub more accessible to developers.
Вывод содержимого файла без комментариев и пустых строк
grep -v '^#\|^$' some_file
labbuildr allows on demand creation of lab environments on Vmware Workstation / Fusion
labbuildr deploys the folowing scenarios:
Exchange / Exchange DAG 2010,2013,2016
SQL / SQL Always on 2012,2014,2016
Hyper-V
Sharepoint
Standalone VM´s
Mastering ESXi Installs
Automating EMC ScaleIO Installs and any more.
labbuildr can be updated automatically.
labbuildr allows for fully customization of network environment vi a central configuration (labtools)
https://github.com/bottkars/labbuildr
labbuildr deploys the folowing scenarios:
Exchange / Exchange DAG 2010,2013,2016
SQL / SQL Always on 2012,2014,2016
Hyper-V
Sharepoint
Standalone VM´s
Mastering ESXi Installs
Automating EMC ScaleIO Installs and any more.
labbuildr can be updated automatically.
labbuildr allows for fully customization of network environment vi a central configuration (labtools)
https://github.com/bottkars/labbuildr
GitHub
GitHub - bottkars/labbuildr: labbuildr is an fully automated tool to deploy windows vm´s and emc va´s and solutions using powershell…
labbuildr is an fully automated tool to deploy windows vm´s and emc va´s and solutions using powershell on vmware workstation - GitHub - bottkars/labbuildr: labbuildr is an fully automated tool to ...
Docker-compose для балансировщика ggr с WebUI от selenoid:
version: '3'
services:
ggr:
image: "aerokube/ggr:1.6.3"
restart: always
network_mode: bridge
ports:
- "4444:4444"
volumes:
- "/etc/grid-router/:/etc/grid-router:ro"
command: ["-quotaDir", "/etc/grid-router/quota", "listen", ":4444"]
ggr-ui:
depends_on:
- ggr
image: "aerokube/ggr-ui:1.1.1"
restart: always
network_mode: bridge
links:
- ggr
ports:
- "8888:8888"
volumes:
- "/etc/grid-router/:/etc/grid-router:ro"
selenoid-ui:
restart: always
image: "aerokube/selenoid-ui:1.6.3"
network_mode: bridge
links:
- ggr-ui
ports:
- "8080:8080"
command: ["--selenoid-uri", "http://ggr-ui:8888"]