refactor: remove dbfilter(temp) add restore database native, download backup
This commit is contained in:
parent
878ec1f6ff
commit
b38beff3de
@ -93,7 +93,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Restore Database
|
- name: Restore Database
|
||||||
if: contains(github.event.head_commit.message, '@restore_db')
|
if: contains(github.event.head_commit.message, '@restore_db')
|
||||||
run: make restore_database
|
run: make restore_database_docker
|
||||||
|
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
if: contains(github.event.head_commit.message, '@run_test')
|
if: contains(github.event.head_commit.message, '@run_test')
|
||||||
|
2
.github/workflows/setup_docker.yml
vendored
2
.github/workflows/setup_docker.yml
vendored
@ -52,7 +52,7 @@ jobs:
|
|||||||
run: sleep 30s
|
run: sleep 30s
|
||||||
|
|
||||||
- name: Restore Database
|
- name: Restore Database
|
||||||
run: make restore_database
|
run: make restore_database_docker
|
||||||
|
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: make run_test_docker
|
run: make run_test_docker
|
||||||
|
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@ -16,7 +16,7 @@ node('Node-Dev-100163') {
|
|||||||
}
|
}
|
||||||
stage('Start'){
|
stage('Start'){
|
||||||
sh 'make run_server_docker'
|
sh 'make run_server_docker'
|
||||||
sh 'make restore_database'
|
sh 'make restore_database_docker'
|
||||||
}
|
}
|
||||||
stage('Testing') {
|
stage('Testing') {
|
||||||
sh 'make run_test_docker'
|
sh 'make run_test_docker'
|
||||||
|
25
Makefile
25
Makefile
@ -23,24 +23,41 @@ CONTAINER_ID=${PROJECT}-${TAG}
|
|||||||
VERSION := community
|
VERSION := community
|
||||||
ADDONS=${PWD}/addons,${PWD}/odoo/addons
|
ADDONS=${PWD}/addons,${PWD}/odoo/addons
|
||||||
BACKUP=${CDN}/raw/branch/main/backup/${VERSION}/odoo18-main_2025-01-15_08-05-47.zip
|
BACKUP=${CDN}/raw/branch/main/backup/${VERSION}/odoo18-main_2025-01-15_08-05-47.zip
|
||||||
|
|
||||||
install:
|
install:
|
||||||
sudo apt update -y && \
|
sudo apt update -y && \
|
||||||
sudo apt install -y python3-pip libldap2-dev libpq-dev libsasl2-dev postgresql-client && \
|
sudo apt install -y python3-pip libldap2-dev libpq-dev libsasl2-dev postgresql-client && \
|
||||||
${PIP} install --no-input -r requirements.txt --break-system-packages
|
${PIP} install --no-input -r requirements.txt --break-system-packages
|
||||||
gen_config:
|
download_backup:
|
||||||
|
@if [ -z "${LINKDB}" ]; then \
|
||||||
|
LinkDB=${BACKUP}; \
|
||||||
|
read -p "LinkDownload [default: ${BACKUP}]: " InputLinkDB; \
|
||||||
|
LinkDB=$${InputLinkDB:-${BACKUP}}; \
|
||||||
|
else \
|
||||||
|
LinkDB=${LINKDB}; \
|
||||||
|
fi; \
|
||||||
|
Filename=$$(basename $$LinkDB); \
|
||||||
|
echo "Downloading $$Filename from: $$LinkDB"; \
|
||||||
|
${PWD}/setup/download_backup.sh $$LinkDB backup.zip
|
||||||
|
gen_config: download_backup
|
||||||
${PWD}/setup/init_config.sh --native ${ADDONS}
|
${PWD}/setup/init_config.sh --native ${ADDONS}
|
||||||
run_server:
|
run_server:
|
||||||
${PYTHON} odoo-bin --config=${CONFIG}
|
${PYTHON} odoo-bin --config=${CONFIG}
|
||||||
run_test:
|
run_test:
|
||||||
${PYTHON} odoo-bin --test-tags :TestAccountMove.test_out_invoice_auto_post_monthly,TestAccountMove.test_included_tax --log-level=test --test-enable -d testdb-${TAG} --stop-after-init --config=${CONFIG}
|
${PYTHON} odoo-bin --test-tags :TestAccountMove.test_out_invoice_auto_post_monthly,TestAccountMove.test_included_tax --log-level=test --test-enable -d testdb-${TAG} --stop-after-init --config=${CONFIG}
|
||||||
${PYTHON} odoo-bin db --config=${CONFIG} drop testdb-${TAG}
|
${PYTHON} odoo-bin db --config=${CONFIG} drop testdb-${TAG}
|
||||||
|
restore_database:
|
||||||
|
@read -p "Enter the database name: " DBNAME; \
|
||||||
|
echo "Restoring database: $$DBNAME"; \
|
||||||
|
${PYTHON} odoo-bin db --config=${CONFIG} load $$DBNAME ${PWD}/deployment/backup/backup.zip
|
||||||
|
|
||||||
##### Docker Deployment #########
|
##### Docker Deployment #########
|
||||||
run_test_docker:
|
run_test_docker:
|
||||||
sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo --test-tags :TestAccountMove.test_out_invoice_auto_post_monthly,TestAccountMove.test_included_tax --log-level=test --test-enable -d testdb-${TAG} --stop-after-init --config=/etc/odoo/${CONFIG} --xmlrpc-port=8071 && \
|
sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo --test-tags :TestAccountMove.test_out_invoice_auto_post_monthly,TestAccountMove.test_included_tax --log-level=test --test-enable -d testdb-${TAG} --stop-after-init --config=/etc/odoo/${CONFIG} --xmlrpc-port=8071 && \
|
||||||
sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo db --config=/etc/odoo/${CONFIG} drop testdb-${TAG}
|
sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo db --config=/etc/odoo/${CONFIG} drop testdb-${TAG}
|
||||||
gen_config_docker:
|
gen_config_docker:
|
||||||
${PWD}/setup/init_config.sh --docker ${ODOO_IMAGE} ${TAG} ${CONTAINER_ID} && \
|
$(MAKE) download_backup LINKDB=${BACKUP}
|
||||||
${SETUP_PATH}/download_backup.sh ${BACKUP}
|
${PWD}/setup/init_config.sh --docker ${ODOO_IMAGE} ${TAG} ${CONTAINER_ID}
|
||||||
build_image:
|
build_image:
|
||||||
DOCKER_BUILDKIT=1 ${DOCKER_BUILD} . --progress plain --tag ${ODOO_IMAGE}:${TAG}
|
DOCKER_BUILDKIT=1 ${DOCKER_BUILD} . --progress plain --tag ${ODOO_IMAGE}:${TAG}
|
||||||
push_image:
|
push_image:
|
||||||
@ -55,7 +72,7 @@ run_server_docker:
|
|||||||
${DOCKER_COMPOSE_CMD} up -d
|
${DOCKER_COMPOSE_CMD} up -d
|
||||||
update_tag:
|
update_tag:
|
||||||
${SETUP_PATH}/update_tag.sh $(CURR_BRANCH)
|
${SETUP_PATH}/update_tag.sh $(CURR_BRANCH)
|
||||||
restore_database:
|
restore_database_docker:
|
||||||
sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo db -c /etc/odoo/odoo.conf load backup /var/lib/odoo/backup/backup.zip
|
sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo db -c /etc/odoo/odoo.conf load backup /var/lib/odoo/backup/backup.zip
|
||||||
stop_server_docker:
|
stop_server_docker:
|
||||||
@if ! docker ps | grep -q "${CONTAINER_ID}"; then \
|
@if ! docker ps | grep -q "${CONTAINER_ID}"; then \
|
||||||
|
@ -50,9 +50,8 @@ ColorReset() {
|
|||||||
main() {
|
main() {
|
||||||
DEPLOYMENT_DIR=$(pwd)/deployment
|
DEPLOYMENT_DIR=$(pwd)/deployment
|
||||||
BACKUP_DIR="$DEPLOYMENT_DIR/backup"
|
BACKUP_DIR="$DEPLOYMENT_DIR/backup"
|
||||||
BACKUP_FILE="$BACKUP_DIR/backup.zip"
|
|
||||||
DOWNLOAD_URL="$1"
|
DOWNLOAD_URL="$1"
|
||||||
|
BACKUP_FILE="$BACKUP_DIR/$2"
|
||||||
# Check if the deployment and backup directories exist, create them if not
|
# Check if the deployment and backup directories exist, create them if not
|
||||||
if [[ ! -d "$BACKUP_DIR" ]]; then
|
if [[ ! -d "$BACKUP_DIR" ]]; then
|
||||||
echo "Backup directory does not exist. Creating: $BACKUP_DIR"
|
echo "Backup directory does not exist. Creating: $BACKUP_DIR"
|
||||||
@ -78,9 +77,6 @@ main() {
|
|||||||
Show 1 "Error: Backup file was not downloaded."
|
Show 1 "Error: Backup file was not downloaded."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Execute the Docker command
|
|
||||||
Show 2 "Running Docker command to load the backup..."
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
@ -33,7 +33,7 @@ def main():
|
|||||||
parser.add_argument('--db_pass', type=str, help='')
|
parser.add_argument('--db_pass', type=str, help='')
|
||||||
parser.add_argument('--deploy_path', type=str, help='')
|
parser.add_argument('--deploy_path', type=str, help='')
|
||||||
parser.add_argument('--addons_path', type=str, help='')
|
parser.add_argument('--addons_path', type=str, help='')
|
||||||
parser.add_argument('--db_filter', type=str, help='')
|
# parser.add_argument('--db_filter', type=str, help='')
|
||||||
parser.add_argument('--db_port', type=int, help='')
|
parser.add_argument('--db_port', type=int, help='')
|
||||||
parser.add_argument('--db_server', type=str, help='')
|
parser.add_argument('--db_server', type=str, help='')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
@ -44,7 +44,7 @@ def main():
|
|||||||
app_port = find_available_port(8069)
|
app_port = find_available_port(8069)
|
||||||
addons_path = args.addons_path
|
addons_path = args.addons_path
|
||||||
base_dir= args.deploy_path
|
base_dir= args.deploy_path
|
||||||
db_filter= args.db_filter
|
# db_filter= args.db_filter
|
||||||
# Copy template files
|
# Copy template files
|
||||||
os.makedirs(f"{base_dir}/etc", exist_ok=True)
|
os.makedirs(f"{base_dir}/etc", exist_ok=True)
|
||||||
color_log.Show(3,f"Copy {base_dir}/odoo.conf.template to {base_dir}/etc/odoo.conf")
|
color_log.Show(3,f"Copy {base_dir}/odoo.conf.template to {base_dir}/etc/odoo.conf")
|
||||||
@ -59,7 +59,7 @@ def main():
|
|||||||
config['options']['db_port'] = str(db_port)
|
config['options']['db_port'] = str(db_port)
|
||||||
config['options']['addons_path'] = addons_path
|
config['options']['addons_path'] = addons_path
|
||||||
config['options']['xmlrpc_port'] = str(app_port)
|
config['options']['xmlrpc_port'] = str(app_port)
|
||||||
config['options']['dbfilter'] = str(db_filter)
|
config['options']['dbfilter'] = ".*"
|
||||||
config['options']['proxy_mode'] = "True"
|
config['options']['proxy_mode'] = "True"
|
||||||
with open(f'{base_dir}/odoo.conf', 'w') as configfile:
|
with open(f'{base_dir}/odoo.conf', 'w') as configfile:
|
||||||
config.write(configfile)
|
config.write(configfile)
|
||||||
|
Loading…
Reference in New Issue
Block a user