Pull to refresh
7
0

Lead Unix System Administrator

Send message

довольно странная статья, выглядит как компиляция всего со всем и ещё немножко тёмной материи.

Прокомментировать это можно только этим:
```
Поживу я, воля божья, у румын
Говорят, они с поволжья, как и мы
```

вот и мотивированные ex-FujitsuGDC товарышчыи подъехали в ерат)
Добро пожаловать)
зачем вообще эта статья?
Хочешь — оставайся, хочешь — уезжай. Всем насрать же, что ты со своей жизнью делаешь. Выбор-то твой.

Хабр превратился в срач-портал.
Две вещи, которых мне не хватило — это https и какая-то интеракция для посетителей.


я хз, но оно на github pages есть, если всё правильно настроено. Достаточно просто инструкцию почитать. Почему вам этого не хватало?)
Пруф

Для того, чтоб им воспользоваться — достаточно создать публичный репозиторий и сменить ветку с master на gh-pages

Ну, нет, можно и мастер оставить — никаких проблем. Пруф

Мне кажется, что можно было более информативно раскрыть что это такое и с чем это едят, чем сделано в статье
выглядит презабавно, почти так же как react-starter-kit, где multi-staget build Docker делают через JS :)

Ok, тогда вопросы такие, как вы разруливаете разные типы билдов? — билд для qa, staging, production
Похоже вы не пользуетесь beta дистрибуцией такой как Firebase. Почему?
Как вы автоматизировали выгрузку в Testflight и автозаполнение Security Compliance там?
Какой у вас flow в git чтобы не тормозить разработку? т.к. Apple в Testflight может выдавать аппрув на билд до недели

Нигде не вижу использования Fastlane Match, вы его не пользуете или?
Как насчёт whitelabeling?
ну вот для vue heroku без монги как-то так:

Dockerfile

FROM node:lts-alpine AS build
  WORKDIR /build
  COPY . .
  ARG VUE_APP_BASE_DOMAIN
  ARG VUE_APP_ROLLBAR_TOKEN
  ARG VUE_APP_ROLLBAR_ENV
  RUN set -x && \
      yarn install && \
      yarn build

FROM nginx:stable-alpine
  # for local builds; will be overrided by heroku
  ENV PORT="80"
  COPY --from=build /build/dist /usr/share/nginx/html
  COPY nginx.conf /etc/nginx/nginx.conf
  COPY entrypoint.sh /usr/bin/
  RUN chmod +x /usr/bin/entrypoint.sh
  # ignored for heroku
  EXPOSE ${PORT}
  ENTRYPOINT ["entrypoint.sh"]
  CMD [ "nginx","-g", "daemon off;"]   


entrypoint.sh

#!/bin/sh
set -xe

echo "DEBUG: Docker - entrypoint init"
echo "DEBUG: Nginx port is ${PORT}"
echo "DEBUG: changing port in config"
sed -i "s/CHANGEME_NGINX_PORT/${PORT}/" /etc/nginx/nginx.conf

# exec the container's main process (what's set as CMD in the Dockerfile).
exec "$@"
могу, умею, практикую вводить в заблуждение)
само собой, я же не оформлял это как баш-скрипт, который всё сам сделает, просто один читатель попросил проверить, работает ли оно на данный момент. Я тупо history в баше скопировал, добавил немножко комментов и всё
немножко автоматизации:
timedatectl set-ntp true && timedatectl set-timezone Europe/Moscow && 
parted -s /dev/sda mklabel gpt mkpart efi '0%' '512MB' mkpart crypt 513MB '100%' set 1 esp on set 1 boot on print && \
mkfs.vfat /dev/sda1 && \
cryptsetup -v luksFormat --type luks1 /dev/sda2 

cryptsetup luksOpen /dev/sda2 container

pvcreate /dev/mapper/container && \
vgcreate rootvg /dev/mapper/container && \
lvcreate -L6G -n root rootvg && \
mkfs.ext4 -L root /dev/mapper/rootvg-root && \
mount /dev/mapper/rootvg-root /mnt/ && \
mkdir -p /mnt/{home,boot/efi} && \
mount /dev/sda1 /mnt/boot/efi/ && \
sed -i '/yandex/!d' /etc/pacman.d/mirrorlist && \
pacstrap /mnt base base-devel grub dosfstools efibootmgr mtools

genfstab -pU /mnt >> /mnt/etc/fstab && \
cat /mnt/etc/fstab && \

arch-chroot /mnt
sed -i '/yandex/!d' /etc/pacman.d/mirrorlist && 
hwclock --systohc && \
echo luks-test > /etc/hostname && \
passwd root

sed -i 's/^HOOKS.*/HOOKS=(base udev autodetect modconf block keymap encrypt lvm2 resume filesystems keyboard fsck)/' /etc/mkinitcpio.conf && \
grep HOOKS /etc/mkinitcpio.conf && \
mkinitcpio -p linux 

echo $(blkid -s UUID /dev/sda2 | awk -F 'UUID=*' '{print $2}' | sed 's/"//g' ) >> /etc/default/grub
nano /etc/default/grub
#GRUB_ENABLE_CRYPTODISK=y
#GRUB_CMDLINE_LINUX=«cryptdevice=UUID=$UUID:container»

cat /etc/default/grub | grep -E 'GRUB_ENABLE_CRYPTODISK|GRUB_CMDLINE_LINUX' && \
grub-install /dev/sda && \
grub-mkconfig -o /boot/grub/grub.cfg && \
echo «container /dev/sda2 none» >> /etc/crypttab 

exit
Работаю в epam. Спасибо за статью, нервно и долго улыбался.
Вы меня пардоньте, но он не работает.
Я добавляю сайт — система меня выкидыват на loginpage. Я об этом отписывался в отзывах, но ничего с тикетом не сделали :)
ну, я про это. Может не сильно корректно написано просто:

Добавляем все изменения в индекс алиасом «git add all»:


по умолчанию не прописан --color, в RHEL по крайней мере

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


т.е. это в разы удобнее чем
git add *

? Особого смысла не вижу

полезнее был бы даже алиас
git diff

на
git diff --color


Да и вообще сам синтаксис git достаточно простой, чтобы не страдать никакими алиасами, ну, мне так кажется.
свежо, но есть хабровская и общая аллергия на 2 буквы «1с».
Хотя devops это методология, которая применима почти где угодно.
ну, здесь зачастую люди и делятся велосипедами. Вариант имеет место быть и ваш тоже, мне как-то привычнее и удобнее было сделать именно так.

Велосипед с квадратными колёсами едет немного с бОльшим усилием, а тут по «усилиям» — производительности, ресурсам, скорости загрузки вообще ничего не изменится.
почитайте другие комменты. там написано почему.
хм, отличная идея, кстати
ну, у меня после такого теста просто нет сомнений, что это действительно так:

1. Итак, представим, что мы такие всё зашифровали и у нас сейчас в /etc/default/grub GRUB_ENABLE_CRYPTODISK=n, далее мы делаем grub-install /dev/vda и вот, что происходит, ololo.efi генерится заново и т.д.
Потом мы грузимся(пытаемся) и, так как grub не видит конфига он тупо входит в grub-rescue или как там оно называется.

2. Сразу после этого, мы с live-cd заходим, открываем контейнер, бла-бла-бла, заходим в chroot и меняем GRUB_ENABLE_CRYPTODISK=y в /etc/default/grub, далее опять делаем grub-install /dev/vda, и тут получаем уже новый ololo.efi, который уже будет пытаться найти и запросить пароль для расшифровки luks.


к тому же… чего ждать, если можно тупо почитать:
www.gnu.org/software/grub/manual/grub/grub.html

‘GRUB_ENABLE_CRYPTODISK’
If set to ‘y’, grub-mkconfig and grub-install will check for encrypted disks and generate additional commands needed to access them during boot. Note that in this case unattended boot is not possible because GRUB will wait for passphrase to unlock encrypted container.


и я думаю, что нет способа «generate additional commands needed to access them during boot» без перекомпиляции этого бинарника.
ок, давайте разложим для понимания тогда.
У нас есть 3 «инстанции», куда обращается GRUB, записывает и чем оперирует.

1. «последовательность загрузки в nvram». По сути это некая область памяти на мат. плате, где написать «шо и куда и последовательно как»
2. Начало диска — как обратная совместимость с обычной BIOS загрузкой (первые 4** байт, кто-то говорит 512, где-то написано, что до 2 мегабайт может занимать) — не суть
3. /boot/efi — раздел fat32 EFI — туда кладётся исполняемый бинарник — приложение UEFI — совместимое.

Моя догадка в том, что бинарник всё-таки меняется и, собственно он(исполняемый файл EFI, выполняясь, уже имеет инструкцию искать и предлагать расшифровать).

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity