В начале нужно найти, где находятся запрашиваемые файлы:
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»