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
Copy file name to clipboardexpand all lines: ansible/roles/manual-jenkins/molecule/README.md
+65-6
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,18 @@
1
1
## **Molecule:**
2
2
3
-
Данная секция предназначена для запуска и выполнения тестов с помощью такого инструмента, как Molecule. Этот инструмент осуществляет предварительный запуск ролей на указанных платформах (Docker, Cloud и т.д.). Делается это для того, чтобы когда роль была написана или изменена, не приходилось выполнять её запуск непосредственно на реальных серверах, так это может привести к непредвиденным обстоятельствам.
3
+
Данная секция предназначена для запуска и выполнения тестов с помощью такого инструмента, как `Molecule`. Этот инструмент осуществляет предварительный запуск ролей на указанных платформах (Docker, Cloud и т.д.). Делается это для того, чтобы когда роль была написана или изменена, не приходилось выполнять её запуск непосредственно на реальных серверах, так как это может привести к непредвиденным обстоятельствам.
4
4
5
5
### **Установка molecule:**
6
6
7
-
Для того чтобы установить `molecule` локально со всеми зависимостями, выполните следующую команду в корне проекта:
7
+
Для того чтобы установить `Molecule` локально со всеми зависимостями, выполните следующую команду в корне проекта:
8
8
9
9
```
10
-
pip3 install -r requirements.txt
10
+
pip3 install -r --user requirements.txt
11
11
```
12
12
13
13
### **Запуск тестов в Docker:**
14
14
15
-
Тесты по отношению к данной роли могут быть выполнены на базе таких платформ, как Docker и AWS EC2. Чтобы запустить полный прогон, необходимо выполнить команду, указав путь к тому или иному виду теста. Так, например, чтобы запустить тесты в среде Docker, укажите желаемое семейство дистрибутивов, для которого хотите прогнать роль:
15
+
Тесты по отношению к данной роли могут быть выполнены на базе таких платформ, как Docker и AWS EC2 (на данном этапе). Чтобы запустить полный прогон, необходимо выполнить команду, указав путь к тому или иному виду теста. Так, например, чтобы запустить тесты в среде Docker, укажите желаемое семейство дистрибутивов, для которого хотите прогнать роль:
16
16
17
17
```
18
18
molecule test -s [docker-debian, docker-ubuntu, docker-suse, docker-redhat] # Укажите на выбор одно из семейств дистрибутивов Linux;
@@ -28,9 +28,68 @@ molecule test -s [docker-debian, docker-ubuntu, docker-suse, docker-redhat] # У
28
28
molecule test -s [aws-debian, aws-ubuntu, aws-suse, aws-redhat] # Укажите на выбор одно из семейств дистрибутивов Linux;
29
29
```
30
30
31
-
### **Прочие команды:**
31
+
Однако перед запуском рекомендуется заполнить ряд переменных значениями, выраженных в `group_vars` в корне директории `ansible` в проекте, которые актуальны для вас: имя профиля, регион, тип инстанса и т.д. Там же указано описание для каждой переменной. Вот полный список переменных на данный момент:
32
32
33
-
Если вы хотите запустить прогон тестов без проверки идемпотентности, то для этого выполните следующую команду на выбор в зависимости от вашей платформы:
33
+
```
34
+
aws_profile: ""
35
+
aws_region: ""
36
+
aws_instance_type: ""
37
+
aws_vpc_subnet_id: ""
38
+
aws_vpc_id: ""
39
+
aws_key_method: ""
40
+
aws_default_ssh_user: ""
41
+
aws_local_private_key: ""
42
+
aws_local_public_key: ""
43
+
aws_custom_key_name: ""
44
+
aws_security_group_name: ""
45
+
```
46
+
47
+
И ещё один аспект. Для каждого семейства дистрибутивов в AWS есть свои версии и реализации. Если по каким-то причинам вас не устраивают предоставленные мною версии дистрибутивов в файле molecule.yml для каждого из семейств или вы просто хотите протестировать те же роли на более старых или новых версиях, то в таком случае вы можете воспользоваться списком команд ниже для каждого из семейств. Эти команды выведут информацию в виде таблице, в которой будет представлен OwnerID семейства для AWS, а также полное имя самого образа, которое одинаково вне зависимости от используемого региона, в сравнении с AMI ID.
Если вы хотите только подготовить ресурсную базу, без прогона самих ролей, то для этого выполните следующую команду на выбор в зависимости от вашей платформы (в первую очередь актуально для облаков, где мы подготавливаем инфраструктуру):
86
+
87
+
```
88
+
molecule create -s [docker-debian, docker-ubuntu, docker-suse, docker-redhat] # Укажите на выбор одно из семейств дистрибутивов Linux;
89
+
molecule create -s [aws-debian, aws-ubuntu, aws-suse, aws-redhat] # Укажите на выбор одно из семейств дистрибутивов Linux;
90
+
```
91
+
92
+
Если вы хотите запустить прогон тестов для роли без проверки идемпотентности, то для этого выполните следующую команду на выбор в зависимости от вашей платформы:
34
93
35
94
```
36
95
molecule converge -s [docker-debian, docker-ubuntu, docker-suse, docker-redhat] # Укажите на выбор одно из семейств дистрибутивов Linux;
0 commit comments