You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- [Настройка конфигурации в .travis.yml](#настройка-конфигурации-в-.travis.yml)
16
-
- [Подготовка и настройка репозитория в PyPI](#подготовка-и-настройка-репозитория-в-pypi)
17
-
-[Публикация новости о релизе в Telegram-канале DevOpsHQ](#публикация-новости-о-релизе-в-telegram-канале-devopshq)
9
+
-[Введение](#Introduction)
10
+
-[Подготовка репозитория](#Preparing-repo)
11
+
-[Подготовка документации](#Preparing-doc)
12
+
-[Оценка качества кода](#Codacy)
13
+
-[Подготовка автоматической сборки в Travis CI](#Travis-CI)
14
+
-[Разработка сборочного скрипта setup.py](#Setup)
15
+
-[Настройка конфигурации в .travis.yml](#Configuration)
16
+
-[Подготовка и настройка репозитория в PyPI](#PyPI)
17
+
-[Публикация новости о релизе в Telegram-канале DevOpsHQ](#News)
18
18
19
19
20
-
# Введение
20
+
# Введение <aname="Introduction"></a>
21
21
22
-
ExampleProject — это пример простого проекта в ообществе DevOpsHQ с базовой функциональностью. Проект содержит в себе примеры и рекомендации для самостоятельной организации сборки любого нового проекта в сообществе DevOpsHQ. Фактически, достаточно скопировать этот проект и заменить некоторые настройки, руководствуясь комментариями ниже.
22
+
**ExampleProject** — это пример простого проекта в ообществе DevOpsHQ с базовой функциональностью. Проект содержит в себе примеры и рекомендации для самостоятельной организации сборки любого нового проекта в сообществе DevOpsHQ. Фактически, достаточно скопировать этот проект и заменить некоторые настройки, руководствуясь комментариями ниже.
23
23
24
24
Подготовка любого нового проекта состоит из шагов, представленных на схеме ниже:
25
25
26
26

1. Обсудить и согласовать с [Timur Gilmullin](https://github.com/Tim55667757) или [Alexander Pazdnikov](https://github.com/apazdnikov) выкладку нового проекта в https://github.com/devopshq. После этого будет создан и настроен репозиторий и типовые группы доступа, выданы права owner на проект.
32
32
@@ -38,7 +38,7 @@ ExampleProject — это пример простого проекта в ооб
38
38
39
39
5. Юнит-тесты формата pytest должны располагаться в каталоге **./tests** в корне проекта.
40
40
41
-
6. При инициализации репозитория следует использовать только **MIT-лицензию** под именем **LICENSE* следующего содержания (обновив год):
41
+
6. При инициализации репозитория следует использовать только **MIT-лицензию** под именем **LICENSE** следующего содержания (обновив год):
1. Документация к проекту на английском языке должна вестись в файле **README.md** формата **markdown**, который должен располагаться в корне репозитория в каждой ветке. Версионирование и изменения в документацию вносятся как в обычный код, вместе с отдельными комитами в соответствующую ветку. Документация на русском ведётся аналогично в файле **README_RUS.md**.
71
71
@@ -93,6 +93,7 @@ SOFTWARE.
93
93
**\[HEADER\](#anchor_name)**
94
94
95
95
2. Рядом с нужным местом (заголовком) в документе добавляем обычный html-якорь:
96
+
96
97
**\<a name="anchor_name"\>\</a\> HEADER**
97
98
98
99
Альтернативный вариант:
@@ -101,14 +102,12 @@ SOFTWARE.
101
102
102
103
**\[Long Header\](#long-header)**
103
104
104
-
В круглых скобках должен стоять тот же самый заголовок, слова которого начинаются с маленькой буквы и разделяются дефисом.
105
-
106
105
2. В тексте заголовок должен быть такой же, как в квадратных скобках выше:
107
106
108
107
**Long Header**
109
108
110
109
111
-
## Оценка качества кода
110
+
## Оценка качества кода <aname="Codacy"></a>
112
111
113
112
Качество кода автоматически отслеживается [сервисом Codacy](https://www.codacy.com/). Для его настройки:
114
113
@@ -137,7 +136,7 @@ SOFTWARE.
137
136
Выделенное длинное число — это код проекта в Codacy (его можно узнать в настройках Settings — General — Codacy Badge), а выделенная часть ссылки — это ваш логин и имя проекта в Codacy.
138
137
139
138
140
-
# Подготовка автоматической сборки в Travis CI
139
+
# Подготовка автоматической сборки в Travis CI <aname="Travis-CI"></a>
141
140
142
141
Подготовка сборки python-кода в [Travis CI](https://travis-ci.org/devopshq) состоит из нескольких основных шагов:
143
142
@@ -148,7 +147,7 @@ SOFTWARE.
148
147
Для начала работы с Travis CI включите интеграцию в вашем GitHub проекте: для этого перейдите в Travis CI по ссылке https://travis-ci.org/profile/devopshq и включите интеграцию вашего нового проекта с GitHub. Для этой операции необходимы админские права в сообществе DevOpsHQ.
149
148
150
149
151
-
## Разработка сборочного скрипта setup.py
150
+
## Разработка сборочного скрипта setup.py <aname="Setup"></a>
152
151
153
152
Скрипт **setup.py** используется стандартным сборщиком python из библиотеки setuptools для обеспечения локальной сборки инструмента в пакет. Обычно, для локального билда и установки вашего инструмента в библиотеки локального python используют команду: python setup.py install. Этот же самый принцип использует Travis CI для обеспечения сборки и дальнейшей упаковки пакета, например, в .tar.gz или wheel-файл и загрузки в PyPI.
154
153
@@ -266,7 +265,7 @@ setup(
266
265
***Дополнение:****похоже, что это уже не требуется, т.к. PyPI выдаёт на попытку зарегистрировать проект: Server response (410): Project pre-registration is no longer required or supported, so continue directly to uploading files.*
267
266
268
267
269
-
## Настройка конфигурации в .travis.yml
268
+
## Настройка конфигурации в .travis.yml <aname="Configuration"></a>
270
269
271
270
Travis CI сервис ищет конфигурацию шагов сборки в стандартном файле **.travis.yml**. Описание его разделов подробно описано в родной документации: https://docs.travis-ci.com/user/customizing-the-build.
Ниже представлен пример файла конфигурации **.travis.yml** с минимальным набором типичных шагов сборки в Travis CI для небольших и простых проектов. Достаточно скопировать его к себе, добавить юнит-тесты в ./tests, заменить ключи secure и он должен подойти, либо с минимальными доработками:
295
294
296
-
```yamlex
295
+
```snakeyaml
297
296
language: python
298
297
python: '3.6'
299
298
branches:
@@ -325,7 +324,7 @@ env:
325
324
```
326
325
327
326
328
-
## Подготовка и настройка репозитория в PyPI
327
+
## Подготовка и настройка репозитория в PyPI <aname="PyPI"></a>
329
328
330
329
После того, как в репозиторий был добавлен файл **.travis.yml** и включена интеграция с ним в Travis CI:
331
330
@@ -336,7 +335,7 @@ env:
336
335
3. Для Package Name вашего нового проекта небходимо добавить минимальную роль **Maintainer** для пользователя **devopshq**, чтобы Travis CI мог аплоадить артефакты в PyPI-репозиторий.
337
336
338
337
339
-
#Публикация новости о релизе в Telegram-канале DevOpsHQ
338
+
#Публикация новости о релизе в Telegram-канале DevOpsHQ <aname="News"></a>
340
339
341
340
Канал сообщества: https://t.me/devopshq. Для публикации в него новости о новой фича или релизной сборке существует чат-бот @devops_mega_bot. Отправлять в канал новости могут админы сообщества DevOpsHQ:
0 commit comments