1
0
mirror of https://github.com/1C-Company/docker_fresh.git synced 2024-12-04 10:24:48 +02:00

Merge pull request #6 from WizaXxX/master

Closes #10
This commit is contained in:
WizaXxX 2020-07-23 22:02:26 +03:00 committed by GitHub
commit 8cb5bbe644
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 46 additions and 24 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.sh -text

3
.gitignore vendored
View File

@ -6,4 +6,5 @@ workdir
workdir/
test.py
.vscode/launch.json
.hostname
.hostname
conf/core/nethasp.ini

View File

@ -7,8 +7,8 @@ services:
hostname: db.HOSTNAMEREPLACE
container_name: db.HOSTNAMEREPLACE
volumes:
- ./artifacts/db/data:/var/lib/1c/pgdata
- ./postgres_socket:/tmp/postgresql/socket
- 1c_pg_data:/var/lib/1c/pgdata
- 1c_pg_socket:/tmp/postgresql/socket
- ./mnt:/mnt
- ../images/site/create_db.psql:/create_db_site.psql
- ../images/forum/create_db.psql:/create_db_forum.psql
@ -56,7 +56,7 @@ services:
container_name: srv.HOSTNAMEREPLACE
command: srv+cli
volumes:
- ./postgres_socket:/tmp/postgresql/socket
- 1c_pg_socket:/tmp/postgresql/socket
- ./artifacts/srv/data:/var/lib/1c/data
- ./artifacts/srv/log:/var/log/1c
- ./mnt:/mnt
@ -135,4 +135,8 @@ services:
volumes:
- ./mnt:/mnt
depends_on:
- srv
- srv
volumes:
1c_pg_data:
1c_pg_socket:

View File

@ -1,5 +1,6 @@
import subprocess
import sys
import platform
from datetime import datetime
import modules.site as site
@ -14,9 +15,15 @@ class colors:
WHITE = '\033[97m'
RED = '\033[91m'
def get_docker_image_command():
if platform.system().lower() == 'windows':
return ['docker', 'images']
else:
return ['docker images']
def image_exist(image_name):
full_image_name = 'fresh/' + image.name
result = subprocess.run(['docker images'], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
result = subprocess.run(get_docker_image_command(), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return full_image_name in str(result.stdout)

View File

@ -27,7 +27,7 @@ def rename_forum_file():
command.append('alpine')
command.append('sh')
command.append('-c')
command.append('"mv /out_files/forum/forum*.war /out_files/forum/ROOT.war"')
command.append('"mv /out_files/forum/*.war /out_files/forum/ROOT.war"')
return command
def add_all_before_commands():

View File

@ -44,13 +44,13 @@ def web_publish_command(host_name, conf_name, internal, descriptor, base_name=''
command.append('-connstr')
if base_name != '':
command.append('\'Srvr=srv;Ref={};\''.format(base_name))
command.append('"Srvr=srv;Ref={};"'.format(base_name))
else:
command.append('\'Srvr=srv;Ref={};\''.format(conf_name))
command.append('"Srvr=srv;Ref={};"'.format(conf_name))
command.append('-confpath')
command.append('\'/etc/httpd/conf/httpd.conf\'')
command.append('"/etc/httpd/conf/httpd.conf"')
command.append('-descriptor')
command.append('\'/mnt/other-files/vrd/{}.vrd\''.format(descriptor))
command.append('"/mnt/other-files/vrd/{}.vrd"'.format(descriptor))
return command
def get_out_file_name_command(action, ib_name):
@ -64,7 +64,7 @@ def create_ib_command(host_name, ib_name, file_name, job_block, action):
command.append('srv.' + host_name)
command.append('/opt/1C/v8.3/x86_64/1cv8')
command.append('CREATEINFOBASE')
command.append('\'Srvr="srv";Ref="{0}";DBMS=PostgreSQL;DBSrvr="/tmp/postgresql/socket";DB="{0}";DBUID="postgres";LicDstr="Y";Locale="ru_RU";CrSQLDB="Y";SchJobDn="{1}";\''.format(
command.append('"Srvr=srv;Ref={0};DBMS=PostgreSQL;DBSrvr=/tmp/postgresql/socket;DB={0};DBUID=postgres;LicDstr=Y;Locale=ru_RU;CrSQLDB=Y;SchJobDn={1};"'.format(
ib_name, job_block))
command.append('/UseTemplate')
command.append('/mnt/{}'.format(file_name))

View File

@ -24,7 +24,7 @@ def rename_site_file():
command.append('alpine')
command.append('sh')
command.append('-c')
command.append('"mv /out_files/site/site*.war /out_files/site/ROOT.war"')
command.append('"mv /out_files/site/*.war /out_files/site/ROOT.war"')
return command
def add_all_before_commands():

View File

@ -5,6 +5,7 @@ import sys
import json
import threading
import time
import codecs
from datetime import datetime
host_name = '.1cfresh.dev'
@ -133,7 +134,7 @@ def call(command, remote=True, debug=False, action='', measure_duration=False, s
def get_configurations_data():
"""Get configuration data"""
is_fail = False
with open('other_files/params.json') as json_file:
with codecs.open('other_files/params.json', 'r', 'utf-8') as json_file:
data = json.load(json_file)
for ib_data in data['ИнформационныеБазы']:
if not os.path.isfile('distr/{}'.format(ib_data['ИмяФайлаКонфигурации'])):
@ -204,6 +205,13 @@ def prepare_new_ib(ib_name, int_name, conf_file_name, job_block):
action='Initialization',
measure_duration=True)
@print_description
def delete_volumes():
"""Delete volumes"""
call('docker volume rm workdir_1c_pg_data', remote=False)
call('docker volume rm workdir_1c_pg_socket', remote=False)
@print_description
def prepare_bases():
"""Prepare all bases"""
@ -235,15 +243,15 @@ def renew_nginx_files():
conf_catalog = work_dir + 'artifacts/nginx/conf/'
call('mkdir -p {}'.format(conf_catalog))
call('sh -c \'cp -r /out_files/conf/nginx/* {}'.format(conf_catalog) + '\'')
call('sh -c "cp -r /out_files/conf/nginx/* {}"'.format(conf_catalog))
call('sh -c \'sed -i \'s/hosthosthost/{}/g\' {}*.conf\''.format(host_name, conf_catalog))
call('sh -c \'sed -i \'s/sitesitesite/site.{}/g\' {}*.conf\''.format(host_name, conf_catalog))
call('sh -c \'sed -i \'s/webwebweb/web.{}/g\' {}*.conf\''.format(host_name, conf_catalog))
call('sh -c \'sed -i \'s/gategategate/gate.{}/g\' {}*.conf\''.format(host_name, conf_catalog))
call('sh -c "sed -i \'s/hosthosthost/{}/g\' {}*.conf"'.format(host_name, conf_catalog))
call('sh -c "sed -i \'s/sitesitesite/site.{}/g\' {}*.conf"'.format(host_name, conf_catalog))
call('sh -c "sed -i \'s/webwebweb/web.{}/g\' {}*.conf"'.format(host_name, conf_catalog))
call('sh -c "sed -i \'s/gategategate/gate.{}/g\' {}*.conf"'.format(host_name, conf_catalog))
call('sh -c \'sed -i \'s/sitesitesite/site.{}/g\' {}conf.d/*.conf\''.format(host_name, conf_catalog))
call('sh -c \'sed -i \'s/hosthosthost/{}/g\' {}conf.d/*.conf\''.format(host_name, conf_catalog))
call('sh -c "sed -i \'s/sitesitesite/site.{}/g\' {}conf.d/*.conf"'.format(host_name, conf_catalog))
call('sh -c "sed -i \'s/hosthosthost/{}/g\' {}conf.d/*.conf"'.format(host_name, conf_catalog))
@print_description
@ -332,7 +340,7 @@ def set_full_host_name(is_new):
def create_db_site():
"""Create db for site"""
call('docker exec -t db.{} sh -c \'/usr/bin/psql -U postgres -f {}'.format(host_name, '/create_db_site.psql\''),
call('docker exec -t db.{} sh -c "/usr/bin/psql -U postgres -f {}'.format(host_name, '/create_db_site.psql"'),
remote=False)
@ -340,7 +348,7 @@ def create_db_site():
def create_db_forum():
"""Create db for forum"""
call('docker exec -t db.{} sh -c \'/usr/bin/psql -U postgres -f {}'.format(host_name, '/create_db_forum.psql\''),
call('docker exec -t db.{} sh -c "/usr/bin/psql -U postgres -f {}'.format(host_name, '/create_db_forum.psql"'),
remote=False)
@ -403,7 +411,7 @@ def wait_site():
def enable_job_in_sm():
"""Enable scheduled jobs sm"""
call('docker exec -t ras.{} deployka scheduledjobs unlock -db sm -db-user \'Администратор\''.format(host_name),
call('docker exec -t ras.{} deployka scheduledjobs unlock -db sm -db-user "Администратор"'.format(host_name),
remote=False)
@print_description
@ -428,6 +436,7 @@ if new_server:
renew_nginx_files()
renew_docker_compose()
renew_other_files()
delete_volumes()
# start db srv ras web gate conteiners
call(docker_compose_str + 'up -d db srv ras web gate', remote=False, silent=False)