Архив за месяц: Январь 2016

Docker: подключиться к запущенному контейнеру

30 января 2016
 

 Подключиться можно двумя способами — с помощью attach и exec. attach имеет ограничение только на один экземпляр shell (не проверял), кроме того — с ним могут быть проблемы при отключении — Ctrl+C убивает процесс контейнера. Для attach есть опция —sig-proxy, которая не останавливает контейнер — но намного проще использовать exec.

SSH: обрыв сессии при бездействии

29 января 2016
 

 При бездействии в терминале с открытой SSH-сессией — через некоторое время она разрывается с сообщением вида: … root@dac754f67def:/etc/nginx# Write failed: Broken pipe 03:14:15 [username@hostname ~] $ Поддержкой SSH-сессии управляют два параметра: ServerAliveInterval — кол-во секунд, через которое клиент будет отправлять NULL-пакет для поддержки сессии; ClientAliveInterval — наоборот, кол-во в секундах, через которое сервер будет отправлять… Читать далее »

TLS/SSL: Chrome — You cannot visit [site] right now because…

28 января 2016
 

 При подключении к серверу с self-signed сертификатом — Chrome выдал сообщение об ошибке: NET::ERR_CERT_AUTHORITY_INVALID You cannot visit ***.com right now because the website uses HSTS. Network errors and attacks are usually temporary, so this page will probably work later. …

BASH: многострочные команды по SSH

27 января 2016
 

 Есть несколько вариантов как выполнить несколько команд на удаленном сервере по SSH. Первый — используя разделитель «;«: $ ssh -p 2222 [email protected] ls /opt/; ls -1 /var [email protected]’s password: mailstat pflogsumm-1.1.1 pflogsumm-1.1.1.tar.gz Keychains …

Python: requests, JFrog Artifactory и деплой

26 января 2016
 

 Пример скрипта деплоя. Задача скрипта — сохранить результаты билда в Artifactory и деплоить из Artifactory на хост с JBoss. Из «особенностей» — результатом билда являются два *.ear архива разных типов: ${GIT_COMMIT}-${VERSION}-unlock-service.ear — бекенд из одного репозитория; ${GIT_COMMIT}-${VERSION}-unlock-ui.ear — фронтенд из второго репозитория. ${GIT_COMMIT} грепается из git log, ${VERSION} — из файла build.gradle, в котором девелоперы устанавливают версию. В Artifactory… Читать далее »

Jenkins: установка и настройка Maven билда

25 января 2016
 

 Пример ручной установки Jenkins на Vagrant бокс с Ubuntu 14. Добавляем Vagrant машину: $ vagrant init ubuntu/trusty64 Редактируем Vagrantfile: Vagrant.configure(2) do |config| … config.vm.network «forwarded_port», guest: 8081, host: 8081 … config.vm.network «public_network» … config.vm.provider «virtualbox» do |vb| … vb.memory = «2048» … end … end Запускаем и подключаемся: $ vagrant up $ vagrant ssh

Vagrant: остановить все запущенные боксы

21 января 2016
 

 На рабочей машинке запущено несколько Vagrant машин. Что бы остановить (или приостановить) все — можно воспользоваться vagrant global-status: $ vagrant global-status id name provider state directory ——————————————————————————————————- b2080c5 default virtualbox running /Users/username/VMs/Vagrant/nike … 12beb0a default virtualbox running /Users/username/VMs/Vagrant/JBoss

Jenkins: плагин Multiple SCMs — несколько репозиториев для проекта

20 января 2016
 

 Исходный код находится в одном репозитории, а скрипты билдов-деплоев — в другом. При этом — в них используются разные бранчи. Необходимо загрузить оба репозитория. Для решения — используем плагин Multiple SCMs.

JBoss: JBAS018038: Root contexts can not be deployed when the virtual host configuration has the welcome root enabled

19 января 2016
 

 После деплоя ROOT.war — JBoss сообщает об ошибке: 09:10:07,656 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.web.deployment.default-host./ROOT: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./ROOT: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1936) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_91] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_91] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_91] Caused by: java.lang.IllegalStateException: JBAS018038: Root contexts can not be deployed when the virtual host… Читать далее »

Jenkins: установка Gradle разных версий

18 января 2016
 

 В требованиях заказчика указано использование Gradle версии 2.9 и выше, в то время как Jenkins по умолчанию использует Gradle 2.5: … [workspace] $ /bin/sh -xe /tmp/hudson7550889694096545979.sh + ./gradlew clean build Downloading https://services.gradle.org/distributions/gradle-2.5-all.zip … Для решения — используем плагин Gradle Plugin.