Skip to content

Commit aebb2b0

Browse files
committed
Merge branch 'release/v.1.1.0'
2 parents 4ab8fc5 + 5c31dc1 commit aebb2b0

File tree

57 files changed

+2087
-914
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+2087
-914
lines changed

.github/workflows/qa.yml

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,28 +37,36 @@ jobs:
3737
opm install opm
3838
opm install --dev
3939
40-
# Запуск контейнера NextCloud
41-
- name: Запуск контейнера NextCloud
40+
# Запуск контейнеров NextCloud и OpenSSH
41+
- name: Запуск контейнеров NextCloud и OpenSSH
4242
env:
43-
NC_ADDRESS: ${{ secrets.NC_ADDRESS }}
44-
NC_ADMIN_NAME: ${{ secrets.NC_ADMIN_NAME }}
45-
NC_ADMIN_PWD: ${{ secrets.NC_ADMIN_PWD }}
46-
run: ./tools/nextcloud/startenv.bat
43+
NC_TEST_ADDRESS: ${{ secrets.NC_TEST_ADDRESS }}
44+
NC_TEST_ADMIN_NAME: ${{ secrets.NC_TEST_ADMIN_NAME }}
45+
NC_TEST_ADMIN_PWD: ${{ secrets.NC_TEST_ADMIN_PWD }}
46+
SFTP_TEST_ADDRESS: ${{ secrets.SFTP_TEST_ADDRESS }}
47+
SFTP_TEST_USER: ${{ secrets.SFTP_TEST_USER }}
48+
SFTP_TEST_PWD: ${{ secrets.SFTP_TEST_PWD }}
49+
run: |
50+
docker-compose --file ./tools/docker-compose.yml up --build -d
51+
oscript ./tools/nextcloud/checkenv.os
4752
4853
# Запуск тестов и сбор покрытия кода
4954
- name: Покрытие кода
5055
env:
5156
CPDB_SQL_SRVR: ${{ secrets.CPDB_SQL_SRVR }}
5257
CPDB_SQL_USER: ${{ secrets.CPDB_SQL_USER }}
5358
CPDB_SQL_PWD: ${{ secrets.CPDB_SQL_PWD }}
54-
NC_ADDRESS: ${{ secrets.NC_ADDRESS }}
55-
NC_ADMIN_NAME: ${{ secrets.NC_ADMIN_NAME }}
56-
NC_ADMIN_PWD: ${{ secrets.NC_ADMIN_PWD }}
59+
NC_TEST_ADDRESS: ${{ secrets.NC_TEST_ADDRESS }}
60+
NC_TEST_ADMIN_NAME: ${{ secrets.NC_TEST_ADMIN_NAME }}
61+
NC_TEST_ADMIN_PWD: ${{ secrets.NC_TEST_ADMIN_PWD }}
62+
SFTP_TEST_ADDRESS: ${{ secrets.SFTP_TEST_ADDRESS }}
63+
SFTP_TEST_USER: ${{ secrets.SFTP_TEST_USER }}
64+
SFTP_TEST_PWD: ${{ secrets.SFTP_TEST_PWD }}
5765
run: oscript ./tasks/coverage.os
5866

59-
# Удаление контейнера NextCloud
60-
- name: Удаление контейнера NextCloud
61-
run: ./tools/nextcloud/stopenv.bat
67+
# Остановка и удаление контейнеров NextCloud и OpenSSH
68+
- name: Остановка и удаление контейнеров NextCloud и OpenSSH
69+
run: docker-compose --file ./tools/docker-compose.yml down
6270

6371
- name: Получение packagedef
6472
shell: pwsh

README.md

Lines changed: 132 additions & 60 deletions
Large diffs are not rendered by default.

lib.config

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,49 @@
11
<package-def>
22
<class name="ПодключениеКСУБД" file="src/core/Классы/ПодключениеКСУБД.os"/>
3+
<class name="РаботаССУБД" file="src/core/Классы/РаботаССУБД.os"/>
4+
<class name="РаботаСЯндексДиск" file="src/core/Классы/РаботаСЯндексДиск.os"/>
5+
<class name="РаботаСNextCloud" file="src/core/Классы/РаботаСNextCloud.os"/>
6+
<class name="РаботаССерверомSSH" file="src/core/Классы/РаботаССерверомSSH.os"/>
37
<module name="ПараметрыСистемы" file="src/core/Модули/ПараметрыСистемы.os"/>
4-
<module name="РаботаССУБД" file="src/core/Классы/РаботаССУБД.os"/>
58
<module name="РаботаСИБ" file="src/core/Модули/РаботаСИБ.os"/>
69
<module name="РаботаСФайлами" file="src/core/Модули/РаботаСФайлами.os"/>
10+
711
<class name="КомандаВыполнитьПакет" file="src/cmd/Классы/КомандаВыполнитьПакет.os"/>
8-
<class name="КомандаРаботаССУБД" file="src/cmd/Классы/КомандаРаботаССУБД.os"/>
12+
13+
<class name="КомандыРаботыССУБД" file="src/cmd/Классы/КомандыРаботыССУБД.os"/>
914
<class name="КомандаВыполнитьСкрипты" file="src/cmd/Классы/КомандаВыполнитьСкрипты.os"/>
1015
<class name="КомандаСоздатьБазуДанных" file="src/cmd/Классы/КомандаСоздатьБазуДанных.os"/>
1116
<class name="КомандаУдалитьБазуДанных" file="src/cmd/Классы/КомандаУдалитьБазуДанных.os"/>
1217
<class name="КомандаСоздатьРезервнуюКопию" file="src/cmd/Классы/КомандаСоздатьРезервнуюКопию.os"/>
1318
<class name="КомандаВосстановитьИзРезервнойКопии" file="src/cmd/Классы/КомандаВосстановитьИзРезервнойКопии.os"/>
1419
<class name="КомандаВыполнитьКомпрессиюСтраниц" file="src/cmd/Классы/КомандаВыполнитьКомпрессиюСтраниц.os"/>
15-
<class name="КомандаРаботаСИБ" file="src/cmd/Классы/КомандаРаботаСИБ.os"/>
20+
21+
<class name="КомандыРаботыСИБ" file="src/cmd/Классы/КомандыРаботыСИБ.os"/>
1622
<class name="КомандаСоздатьСервернуюИБ" file="src/cmd/Классы/КомандаСоздатьСервернуюИБ.os"/>
1723
<class name="КомандаВыгрузитьИБВФайл" file="src/cmd/Классы/КомандаВыгрузитьИБВФайл.os"/>
1824
<class name="КомандаЗагрузитьИБИзФайла" file="src/cmd/Классы/КомандаЗагрузитьИБИзФайла.os"/>
1925
<class name="КомандаОчиститьЛокальныйКэшИБ" file="src/cmd/Классы/КомандаОчиститьЛокальныйКэшИБ.os"/>
2026
<class name="КомандаОтключитьОтХранилища" file="src/cmd/Классы/КомандаОтключитьОтХранилища.os"/>
2127
<class name="КомандаПодключитьКХранилищу" file="src/cmd/Классы/КомандаПодключитьКХранилищу.os"/>
22-
<class name="КомандаРаботаСФайлами" file="src/cmd/Классы/КомандаРаботаСФайлами.os"/>
28+
29+
<class name="КомандыРаботыСФайлами" file="src/cmd/Классы/КомандыРаботыСФайлами.os"/>
2330
<class name="КомандаКопироватьФайл" file="src/cmd/Классы/КомандаКопироватьФайл.os"/>
2431
<class name="КомандаРазбитьФайлНаЧасти" file="src/cmd/Классы/КомандаРазбитьФайлНаЧасти.os"/>
2532
<class name="КомандаСоединитьЧастиВФайл" file="src/cmd/Классы/КомандаСоединитьЧастиВФайл.os"/>
33+
<class name="КомандаПодключитьСетевойДиск" file="src/cmd/Классы/КомандаПодключитьСетевойДиск.os"/>
34+
<class name="КомандаОтключитьСетевойДиск" file="src/cmd/Классы/КомандаОтключитьСетевойДиск.os"/>
35+
36+
<class name="КомандыРаботыСЯндехДиск" file="src/cmd/Классы/КомандыРаботыСЯндехДиск.os"/>
2637
<class name="КомандаПоместитьФайлВЯДиск" file="src/cmd/Классы/КомандаПоместитьФайлВЯДиск.os"/>
2738
<class name="КомандаПолучитьФайлИзЯДиска" file="src/cmd/Классы/КомандаПолучитьФайлИзЯДиска.os"/>
39+
40+
<class name="КомандыРаботыСNextCloud" file="src/cmd/Классы/КомандыРаботыСNextCloud.os"/>
2841
<class name="КомандаПоместитьФайлВNextCloud" file="src/cmd/Классы/КомандаПоместитьФайлВNextCloud.os"/>
2942
<class name="КомандаПолучитьФайлИзNextCloud" file="src/cmd/Классы/КомандаПолучитьФайлИзNextCloud.os"/>
30-
<class name="КомандаПодключитьСетевойДиск" file="src/cmd/Классы/КомандаПодключитьСетевойДиск.os"/>
31-
<class name="КомандаОтключитьСетевойДиск" file="src/cmd/Классы/КомандаОтключитьСетевойДиск.os"/>
43+
44+
<class name="КомандыРаботыСSFTP" file="src/cmd/Классы/КомандыРаботыСSFTP.os"/>
45+
<class name="КомандаПоместитьФайлНаSFTP" file="src/cmd/Классы/КомандаПоместитьФайлНаSFTP.os"/>
46+
<class name="КомандаПолучитьФайлСSFTP" file="src/cmd/Классы/КомандаПолучитьФайлСSFTP.os"/>
47+
3248
<module name="ЧтениеОпцийКоманды" file="src/cmd/Классы/ЧтениеОпцийКоманды.os"/>
3349
</package-def>

packagedef

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Описание.Имя("cpdb")
2-
.Версия("1.0.0")
2+
.Версия("1.1.0")
33
.ВерсияСреды("1.7.0")
44
.ЗависитОт("logos")
55
.ЗависитОт("1commands")
@@ -10,6 +10,7 @@
1010
.ЗависитОт("fs")
1111
.ЗависитОт("yadisk")
1212
.ЗависитОт("nextcloud-lib")
13+
.ЗависитОт("ClientSSH", "0.5.0")
1314
.РазработкаЗависитОт("1testrunner")
1415
.РазработкаЗависитОт("asserts")
1516
.ВключитьФайл("src")

scripts/cp2test.jenkinsfile

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@ def configVer
66

77
pipeline {
88
agent none
9-
9+
1010
environment {
11-
src_db_cred = credentials("${env.src_db_cred}")
12-
dst_db_cred = credentials("${env.dst_db_cred}")
13-
dst_ib_cred = credentials("${env.dst_ib_cred}")
14-
dst_ib_storage_cred = credentials("${env.dst_ib_storage_cred}")
11+
src_db_cred = credentials("${env.src_db_cred}")
12+
dst_db_cred = credentials("${env.dst_db_cred}")
13+
dst_ib_cred = credentials("${env.dst_ib_cred}")
14+
dst_ib_storage_cred = credentials("${env.dst_ib_storage_cred}")
1515
}
1616

1717
stages {
1818
stage('Резервное копирование базы') {
19-
agent { label "${env.src_agent_label}"}
19+
agent { label "${env.src_agent_label}"}
2020
steps {
21-
timestamps {
22-
cmd("cpdb database --sql-srvr ${env.src_server_name} --sql-user ${src_db_cred_Usr} --sql-pwd ${src_db_cred_Psw} backup --sql-db ${env.src_db_name} --bak-path \"${env.src_bak_path}\\${env.bak_file_name}\"")
23-
}
21+
timestamps {
22+
cmd("cpdb database --srvr ${env.src_server_name} --user ${src_db_cred_Usr} --pwd ${src_db_cred_Psw} backup --db ${env.src_db_name} --bak-path \"${env.src_bak_path}\\${env.bak_file_name}\"")
23+
}
2424
}
2525
}
2626

@@ -36,43 +36,43 @@ pipeline {
3636
agent { label "${env.src_agent_label}"}
3737
steps {
3838
timestamps {
39-
cmd("cpdb file putyadisk --list \"${env.src_bak_path}\\${env.list_file_name}\" --ya-token ${env.storage_token} --ya-path \"${env.storage_path}\" --delsrc");
39+
cmd("cpdb yadisk --token ${env.storage_token} put --list \"${env.src_bak_path}\\${env.list_file_name}\" --path \"${env.storage_path}\" --delsrc");
4040
}
4141
}
4242
}
4343
stage('Получение копии из хранилища') {
44-
agent { label "${env.dst_agent_label}"}
44+
agent { label "${env.dst_agent_label}"}
4545
steps {
4646
timestamps {
47-
cmd("cpdb file getyadisk --path \"${env.dst_bak_path}\" --ya-token ${env.storage_token} --ya-list \"${env.storage_path}/${env.list_file_name}\" --delsrc");
47+
cmd("cpdb yadisk --token ${env.storage_token} get --path \"${env.dst_bak_path}\" --list \"${env.storage_path}/${env.list_file_name}\" --delsrc");
4848
}
4949
}
5050
}
5151

5252
stage('Сборка частей') {
53-
agent { label "${env.dst_agent_label}"}
53+
agent { label "${env.dst_agent_label}"}
5454
steps {
5555
timestamps {
56-
cmd("cpdb file merge --list \"${env.dst_bak_path}\\${env.list_file_name}\" --delsrc");
56+
cmd("cpdb file merge --list \"${env.dst_bak_path}\\${env.list_file_name}\" --delsrc");
5757
}
5858
}
5959
}
6060

6161
stage('Восстановление базы из резервной копии') {
62-
agent { label "${env.dst_agent_label}"}
62+
agent { label "${env.dst_agent_label}"}
6363
steps {
6464
timestamps {
65-
cmd("cpdb database --sql-srvr ${env.dst_server_name} --sql-user ${dst_db_cred_Usr} --sql-pwd ${dst_db_cred_Psw} restore --sql-db ${env.dst_db_name} --bak-path \"${env.dst_bak_path}\\${env.bak_file_name}\" --create-db --shrink-db --db-owner ${env.dst_dbo} --db-path \"${env.dst_db_path}\" --db-logpath \"${env.dst_log_path}\" --db-recovery SIMPLE --db-changelfn");
65+
cmd("cpdb database --srvr ${env.dst_server_name} --user ${dst_db_cred_Usr} --pwd ${dst_db_cred_Psw} restore --db ${env.dst_db_name} --bak-path \"${env.dst_bak_path}\\${env.bak_file_name}\" --create-db --shrink-db --db-owner ${env.dst_dbo} --db-path \"${env.dst_db_path}\" --db-logpath \"${env.dst_log_path}\" --db-recovery SIMPLE --db-changelfn");
6666
}
6767
}
6868
}
6969

7070
stage('Подключение базу к хранилищу конфигурации') {
71-
agent { label "${dst_ib_agent_label}"}
71+
agent { label "${dst_ib_agent_label}"}
7272
steps {
7373
timestamps {
74-
cmd("cpdb infobase uconstorage --ib-path ${dst_ib_con_string} --ib-user \"${dst_ib_cred_Usr}\" --ib-pwd \"${dst_ib_cred_Psw}\"");
75-
cmd("cpdb infobase constorage --ib-path ${dst_ib_con_string} --storage-path ${dst_ib_storage_adr} --ib-user \"${dst_ib_cred_Usr}\" --ib-pwd \"${dst_ib_cred_Psw}\" --storage-user \"${dst_ib_storage_cred_Usr}\" --storage-pwd \"${dst_ib_storage_cred_Psw}\"");
74+
cmd("cpdb infobase uconstorage --ib-path ${dst_ib_con_string} --ib-user \"${dst_ib_cred_Usr}\" --ib-pwd \"${dst_ib_cred_Psw}\"");
75+
cmd("cpdb infobase constorage --ib-path ${dst_ib_con_string} --storage-path ${dst_ib_storage_adr} --ib-user \"${dst_ib_cred_Usr}\" --ib-pwd \"${dst_ib_cred_Psw}\" --storage-user \"${dst_ib_storage_cred_Usr}\" --storage-pwd \"${dst_ib_storage_cred_Psw}\"");
7676
}
7777
}
7878
}

src/cmd/cpdb.os

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,28 @@
2424

2525
Приложение.ДобавитьКоманду("database d",
2626
"команды работы с СУБД",
27-
Новый КомандаРаботаССУБД());
27+
Новый КомандыРаботыССУБД());
2828

2929
Приложение.ДобавитьКоманду("infobase i",
3030
"команды работы с информационными базами 1С",
31-
Новый КомандаРаботаСИБ());
31+
Новый КомандыРаботыСИБ());
3232

3333
Приложение.ДобавитьКоманду("file f",
3434
"команды работы с файлами",
35-
Новый КомандаРаботаСФайлами());
36-
35+
Новый КомандыРаботыСФайлами());
36+
37+
Приложение.ДобавитьКоманду("yadisk y",
38+
"команды обмена файлами с Yandex-диском",
39+
Новый КомандыРаботыСЯндехДиск());
40+
41+
Приложение.ДобавитьКоманду("nextcloud n",
42+
"команды обмена файлами с сервисом NextCloud",
43+
Новый КомандыРаботыСNextCloud());
44+
45+
Приложение.ДобавитьКоманду("sftp s",
46+
"команды обмена файлами с SFTP-сервером",
47+
Новый КомандыРаботыСSFTP());
48+
3749
Приложение.Опция("v verbose", Ложь, "вывод отладочной информации в процессе выполнения")
3850
.Флаговый()
3951
.ВОкружении("CPDB_VERBOSE");

src/cmd/Классы/КомандаВосстановитьИзРезервнойКопии.os

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
.ТСтрока()
2626
.ВОкружении("CPDB_PARAMS");
2727

28-
Команда.Опция("d sql-db", "", "имя базы для резервного копирования")
28+
Команда.Опция("d db sql-db", "", "имя базы для резервного копирования")
2929
.ТСтрока()
3030
.Обязательный()
3131
.ВОкружении("CPDB_SQL_DATABASE");
@@ -92,11 +92,11 @@
9292
ПараметрыСистемы.УстановитьРежимОтладки(ВыводОтладочнойИнформации);
9393

9494
ПараметрыПодключения = Новый Структура("Сервер, Пользователь, ПарольПользователя");
95-
ПараметрыПодключения.Сервер = ЧтениеОпций.ЗначениеОпции("sql-srvr", Истина);
96-
ПараметрыПодключения.Пользователь = ЧтениеОпций.ЗначениеОпции("sql-user", Истина);
97-
ПараметрыПодключения.ПарольПользователя = ЧтениеОпций.ЗначениеОпции("sql-pwd", Истина);
95+
ПараметрыПодключения.Сервер = ЧтениеОпций.ЗначениеОпции("srvr", Истина);
96+
ПараметрыПодключения.Пользователь = ЧтениеОпций.ЗначениеОпции("user", Истина);
97+
ПараметрыПодключения.ПарольПользователя = ЧтениеОпций.ЗначениеОпции("pwd", Истина);
9898

99-
База = ЧтениеОпций.ЗначениеОпции("sql-db");
99+
База = ЧтениеОпций.ЗначениеОпции("db");
100100
ПутьКРезервнойКопии = ЧтениеОпций.ЗначениеОпции("bak-path");
101101
СоздаватьБазу = ЧтениеОпций.ЗначениеОпции("create-db");
102102
ВладелецБазы = ЧтениеОпций.ЗначениеОпции("db-owner");
@@ -122,7 +122,7 @@
122122
СоздаватьБазу);
123123

124124
Если УдалитьИсточник Тогда
125-
РаботаССУБД.УдалитьИсточник(ПутьКРезервнойКопии);
125+
УдалитьФайлы(ПутьКРезервнойКопии);
126126
КонецЕсли;
127127

128128
Если ЗначениеЗаполнено(ВладелецБазы) Тогда

0 commit comments

Comments
 (0)