В начале нужно найти, где находятся запрашиваемые файлы:
find / -path "*/javascripts/dashboard.js"
И найденный путь описать в локейшене:
location ^~ /sidekiq/ { alias /home/artem/site/shared/bundle/ruby/1.9.1/gems/sidekiq-2.16.1/web/assets/; }
В начале нужно найти, где находятся запрашиваемые файлы:
find / -path "*/javascripts/dashboard.js"
И найденный путь описать в локейшене:
location ^~ /sidekiq/ { alias /home/artem/site/shared/bundle/ruby/1.9.1/gems/sidekiq-2.16.1/web/assets/; }
Задача: Получить и SSL сертификат для Nginx'a, который живет в контейнере, от Let’s Encrypt и автоматически его продлевать
Nginx в контейнере настроен пока только на прослушивание 80-го порта. В контейнер примонтирована директория с хост машины, для верификации сертификатов, и этот путь описан в локейшене. В примере используется Docker-Compose, но он не является обязательным.
server { listen 80; server_name artem.services; location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /var/www/certbot; } }
version: '3.1' services: backend: image: nginx/nginx:latest ports: - 80:80 volumes: - ./data/nginx/app.conf:/etc/nginx/conf.d/default.conf - ./data/nginx/nginx.conf:/etc/nginx/nginx.conf - /var/www/certbot:/var/www/certbot
KeyTool в ходит в состав Java
Генерация:
keytool -genkey -v -keystore MYAPPNAME-release-keystore -alias MYAPPNAME -keyalg RSA -keysize 2048 -validity 10000
Вас попросит ввести пароль для ключа, можете его сгенерировать.
И скопируем его в исходники по пути "android/app/"
Для генерации нужен пакет "mkpasswd", который входит в состав "expect", установим его:
yum install -y expect
Пример использования:
mkpasswd -l 32 -s 2
Сгенерирует один пароль длинной 32 символа, из которых 2 будут спецсимволами.
Для генерации нужен пакет "makepasswd".
Пример использования:
makepasswd --minchars=32 --maxchars=32
Сгенерирует один пароль длинной 32 символа.
Клонировать репозиторий:
git clone [email protected]:artem-services/test.git
Добавить файлы изменений, добавить коммит и пушнуть изменения в ветке:
git add test.txt git commit -m "Edit test.txt file" git push
Клонировать определенную ветку:
git clone --single-branch -b test-branch [email protected]:artem-services/test.git
Объединяем коммиты в один. Объеденим 3 последних комита в один:
git rebase -i HEAD~3
После чего у вас откроется редактор, нужно заменить действие "pick" на "squash", или просто "s". Меняем следующее:
pick 7c71ce6 2FA pick c2bc305 2FA pick 8f4163c 2FA
На следующее:
pick 7c71ce6 2FA squash c2bc305 2FA squash 8f4163c 2FA
И сохраняем. Затем открывается редактор коммитов, оставляем только нужный комментарий к коммитам, остальные экранируем и сохраняем, и пушаем с форсом:
git push -f
Первым делом, если у вас нету webhook'и, ее нужно создать, для этого перейдите по ссылке:
https://YOU_ORGANIZATION_NAME.slack.com/services/new/incoming-webhook
Где "YOU_ORGANIZATION_NAME" имя вашей организации в Slack'е
Дальше нужно скачать скрипт:
curl -s https://gist.githubusercontent.com/andkirby/67a774513215d7ba06384186dd441d9e/raw --output /usr/bin/slack
Автор скрипта: andkirby
Перед использованием данного скрипта необходимо убедиться, что пакет "figlet" установлен
Вот так при логине будет выглядеть MOTD:
Первое что нужно, это создать проект в "Google Cloud Console", если у вас его еще нет.
Затем переходим "AIM and administration" — "Service accounts". Мы можем как создать отдельного пользователя для SDK, так и использовать дефолтного пользователя для нашего проекта. Выберем свой сервисный аккаунт и перейдем "Action" — "Create key", укажем тип ключа "JSON".
(!) Сохраните его в надежном месте и не пересылайте по почте, так как с помощью этого ключа можно получить доступ к вашему проекту.
Теперь включим необходимые API для сервисного аккаунта. Мне нужен был только "Compute Engine", его можно включить по ссылке:
https://console.cloud.google.com/apis/library?project=YOU_PROJECT_NAME&orgonly=true
Где "YOU_PROJECT_NAME" имя вашего проекта.
Для Linux и MacOS:
Выполним следующую команду:
curl https://sdk.cloud.google.com | bash
Перезапустим оболочку:
exec -l $SHELL
Запустим "gcloud init" для инициализации gcloud environment:
gcloud init
Вас перебросит на браузер для авторизации. Чтобы пройти авторизацию в консоли, без браузера выполните:
gcloud init --console-only
Интерграция с kubectl:
gcloud container clusters get-credentials KUBERNETES_CLUSTER_NAME --zone ZONE_NAME --project YOU_PROJECT_NAME
В моем примере будет использоваться доменное имя "artem.services", на основе его будут создаваться субдоменны.
Создадим запись Type A субдоммену "traefik.artem.services" и направим его на нашу ноду.
Пример ниже будет приведен на Docker-Compose, это не является необходимым, просто для удобства. Если Compose не установлен, установим его:
DEB системы:
apt install -y docker-compose
RPM системы:
yum install -y docker-compose
Читать далее "Traefik — Docker + ACME DNS (Route53) Let’s Encrypt Wildcard"
В моем примере будет использоваться доменное имя "artem.services", на основе его будут создаваться субдоменны.
Создадим запись Type A субдоммену "traefik.artem.services" и направим его на нашу ноду.
Пример ниже будет приведен на Docker-Compose, это не является необходимым, просто для удобства. Если Compose не установлен, установим его:
DEB системы:
apt install -y docker-compose
RPM системы:
yum install -y docker-compose
Читать далее "Traefik — Docker + ACME HTTP-01 Let’s Encrypt"