Архив метки: Python

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… Читать далее »

Python: библиотка PyCrypto – шифрование файла

28 сентября 2015
 

 У нас имеется утилита, которая управляет билдами и деплоями. Помимо всего прочего – в ней прописаны несколько паролей – для авторизации в базе данных (Apache Cassandra) и для отправки почтовых уведомлений. Хранились они в plaintext виде, прямо в коде утилиты. Для решения этой задачи – был написан отдельный класс, который умеет шифровать и дешифровать файл, в… Читать далее »

Python: requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

3 сентября 2015
 

 Во время выполнения API запроса с помощью модуля requests – возникает ошибка: RDS Cloudlibrary module started at 31, Aug 2015 at 16:08:37 Task have Done status: NG-5859 URL variable not found, will default – https://www.dev.domain.com/cloudlibrary/ Removing MATH_DLL via https://www.dev.domain.com/cloudlibrary/data/488fe16f-bb89-4cc0-b972-c8b9044dc7ed Traceback (most recent call last): … File “C:RDSmanagerlibexternalrds_clc.py”, line 92, in cloud_delete data_delete = self.session.delete(url) … requests.exceptions.SSLError:… Читать далее »

Python: скрипт переименования спринтов в JIRA

28 июля 2015
 

 Мы пользуемся Cloud-based версией JIRA, поэтому API может отличаться. Задача: переименовать спринты в JIRA. Обращение к спринтам в JIRA реализовано по их ID. Например, в URL https://account.atlassian.net/secure/RapidBoard.jspa?rapidView=23&view=reporting&chart=sprintRetrospective&sprint=144 ID спринта будет 144. Реализовано с помощью requests и argparse.

Python: ConfigParser – пример использования

11 июля 2015
 

 Для управления билдом нашего приложения – имеется утилита RDSmanager, написанная на Python 2.7. Одна из его задач – управления конфигурациями в INI-файле, который выглядит примерно так: [version_1_0_2_staging] MATH_DLL = 7a00ca94-b68d-4c89-a004-d3a4f5e7cf56 MATH_DLL_XML = 738174f7-f310-4989-8cae-da1690487e7c ASSETMANAGER_API_DLL = 2e9e3807-4f8a-4ae1-a873-4a8f6d152eaf ASSETMANAGER_API_DLL_XML = 024130cf-cbd9-41c2-b432-db9bc8565220 … [debug] MATH_DLL = 7b73c8f2-c5b6-435d-b310-37628302d1a0 MATH_DLL_XML = 5a349f50-76c3-456e-a885-f893c501a050 NETWORK_IMPL_DLL = 90a7b774-aa9a-4b85-b5e7-822333860588 …

Python: классы и объектно-ориентированное программирование

9 июля 2015
 

  Введение Прежде, чем говорить о классах – было бы хорошо понимать основы пространства имён в Python и основы жизненного цикла данных в нём. Имена Для начала – поговорим об именах. Имя – это просто идентификатор, который указывает на какой-то объект в памяти. Т.е., создавая объект в памяти – вы можете создать указатель, после чего обратиться… Читать далее »

Python: модуль Fabric – пример использования

27 июня 2015
 

 Общие сведения о модуле можно найти в посте Python: модуль Fabric. Ниже – пример использования. Класс используется для работы с нашей базой данных Cassandra, что бы загружать, получать или удалять файлы.

Python: модуль Fabric

17 июня 2015
 

 Описание, установка Fabric – система для управления и развёртывания приложений. Управляющие скрипты (аналог рецептов в Chef) пишутся на Python. И сам Fabric написан на Python. Особое значение (по крайней мере – для меня) имеет то, что Fabric отлично работает с SSH, позволяя выполнять любые действия на удалённой машине. При этом, в отличии от paramiko, имеет намного более… Читать далее »