From 60c329130fb5c96944359b79117c6a222ea500e1 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 14:06:18 +0100 Subject: [PATCH 01/22] clean --- README.md | 3 ++- initdb/11_role_extension.sql | 2 -- initdb/20_create_ref.sql | 27 --------------------------- initdb/40_change_owner.sql | 2 +- 4 files changed, 3 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 127c67f..01e6030 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,8 @@ The arguments (`ARG`or when building the image `--build-arg`) `postgresql_versio - You should have [docker installed](https://docs.docker.com/get-docker/) in your machine (computer or server). - You should pull the desired image using one of the following line depending if you want the latest version or [a - given version](https://forgemia.inra.fr/stacomi/stacomi_db/container_registry/368) + given version](https://forgemia.inra.fr/stacomi/stacomi_db/container_registry/368), eventually after [being authenticate to the registry](https://docs.gitlab.com/user/packages/container_registry/authenticate_with_container_registry/) + ~~~ shell docker pull registry.forgemia.inra.fr/stacomi/stacomi_db/stacomi_db:latest docker pull registry.forgemia.inra.fr/stacomi/stacomi_db/stacomi_db:0.6.0-pg9.6-ps3.2 diff --git a/initdb/11_role_extension.sql b/initdb/11_role_extension.sql index 572ab4d..db2d750 100644 --- a/initdb/11_role_extension.sql +++ b/initdb/11_role_extension.sql @@ -1,5 +1,3 @@ -CREATE ROLE iav LOGIN PASSWORD 'iav'; -CREATE ROLE invite LOGIN PASSWORD 'invite'; CREATE ROLE user_1 LOGIN PASSWORD 'user_1'; CREATE ROLE stacomi_test LOGIN PASSWORD 'stacomi_test'; --CREATE ROLE group_stacomi_sequence NOINHERIT NOLOGIN; -- no inherit ensures that the privileges cannot be passed to another group role created later diff --git a/initdb/20_create_ref.sql b/initdb/20_create_ref.sql index 9063e4f..4927665 100644 --- a/initdb/20_create_ref.sql +++ b/initdb/20_create_ref.sql @@ -3688,7 +3688,6 @@ GRANT ALL ON SCHEMA ref TO PUBLIC; -- Name: TABLE tg_parametre_par; Type: ACL; Schema: ref; Owner: postgres -- -GRANT SELECT ON TABLE ref.tg_parametre_par TO invite; GRANT SELECT ON TABLE ref.tg_parametre_par TO stacomi_test; @@ -3699,7 +3698,6 @@ GRANT SELECT ON TABLE ref.tg_parametre_par TO stacomi_test; -- GRANT SELECT ON TABLE ref.tr_devenirlot_dev TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_devenirlot_dev TO invite; -- @@ -3709,7 +3707,6 @@ GRANT SELECT ON TABLE ref.tr_devenirlot_dev TO invite; -- GRANT SELECT ON TABLE ref.tr_importancepatho_imp TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_importancepatho_imp TO invite; -- @@ -3719,7 +3716,6 @@ GRANT SELECT ON TABLE ref.tr_importancepatho_imp TO invite; -- GRANT SELECT ON TABLE ref.tr_localisationanatomique_loc TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_localisationanatomique_loc TO invite; -- @@ -3729,7 +3725,6 @@ GRANT SELECT ON TABLE ref.tr_localisationanatomique_loc TO invite; -- GRANT SELECT ON TABLE ref.tr_naturemarque_nmq TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_naturemarque_nmq TO invite; -- @@ -3739,7 +3734,6 @@ GRANT SELECT ON TABLE ref.tr_naturemarque_nmq TO invite; -- GRANT SELECT ON TABLE ref.tr_natureouvrage_nov TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_natureouvrage_nov TO invite; -- @@ -3749,7 +3743,6 @@ GRANT SELECT ON TABLE ref.tr_natureouvrage_nov TO invite; -- GRANT SELECT ON TABLE ref.tr_niveauechappement_ech TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_niveauechappement_ech TO invite; -- @@ -3759,8 +3752,6 @@ GRANT SELECT ON TABLE ref.tr_niveauechappement_ech TO invite; -- GRANT SELECT ON TABLE ref.tr_niveautaxonomique_ntx TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_niveautaxonomique_ntx TO invite; - -- -- TOC entry 4647 (class 0 OID 0) @@ -3769,7 +3760,6 @@ GRANT SELECT ON TABLE ref.tr_niveautaxonomique_ntx TO invite; -- GRANT SELECT ON TABLE ref.tr_parametrequalitatif_qal TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_parametrequalitatif_qal TO invite; -- @@ -3779,7 +3769,6 @@ GRANT SELECT ON TABLE ref.tr_parametrequalitatif_qal TO invite; -- GRANT SELECT ON TABLE ref.tr_parametrequantitatif_qan TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_parametrequantitatif_qan TO invite; -- @@ -3789,7 +3778,6 @@ GRANT SELECT ON TABLE ref.tr_parametrequantitatif_qan TO invite; -- GRANT SELECT ON TABLE ref.tr_pathologie_pat TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_pathologie_pat TO invite; -- @@ -3799,7 +3787,6 @@ GRANT SELECT ON TABLE ref.tr_pathologie_pat TO invite; -- GRANT SELECT ON TABLE ref.tr_prelevement_pre TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_prelevement_pre TO invite; -- @@ -3809,7 +3796,6 @@ GRANT SELECT ON TABLE ref.tr_prelevement_pre TO invite; -- GRANT SELECT ON TABLE ref.tr_stadedeveloppement_std TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_stadedeveloppement_std TO invite; -- @@ -3819,7 +3805,6 @@ GRANT SELECT ON TABLE ref.tr_stadedeveloppement_std TO invite; -- GRANT SELECT ON TABLE ref.tr_taxon_tax TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_taxon_tax TO invite; -- @@ -3829,7 +3814,6 @@ GRANT SELECT ON TABLE ref.tr_taxon_tax TO invite; -- GRANT SELECT ON TABLE ref.tr_typearretdisp_tar TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_typearretdisp_tar TO invite; -- @@ -3839,7 +3823,6 @@ GRANT SELECT ON TABLE ref.tr_typearretdisp_tar TO invite; -- GRANT SELECT ON TABLE ref.tr_typedc_tdc TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_typedc_tdc TO invite; -- @@ -3849,7 +3832,6 @@ GRANT SELECT ON TABLE ref.tr_typedc_tdc TO invite; -- GRANT SELECT ON TABLE ref.tr_typedf_tdf TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_typedf_tdf TO invite; -- @@ -3859,8 +3841,6 @@ GRANT SELECT ON TABLE ref.tr_typedf_tdf TO invite; -- GRANT SELECT ON TABLE ref.tr_typequantitelot_qte TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_typequantitelot_qte TO invite; - -- -- TOC entry 4657 (class 0 OID 0) @@ -3869,7 +3849,6 @@ GRANT SELECT ON TABLE ref.tr_typequantitelot_qte TO invite; -- GRANT SELECT ON TABLE ref.tr_valeurparametrequalitatif_val TO stacomi_test; -GRANT SELECT ON TABLE ref.tr_valeurparametrequalitatif_val TO invite; -- @@ -3879,7 +3858,6 @@ GRANT SELECT ON TABLE ref.tr_valeurparametrequalitatif_val TO invite; -- GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_maintenance_main TO stacomi_test; -GRANT SELECT ON TABLE ref.ts_maintenance_main TO invite; -- @@ -3889,7 +3867,6 @@ GRANT SELECT ON TABLE ref.ts_maintenance_main TO invite; -- GRANT SELECT ON TABLE ref.ts_messager_msr TO stacomi_test; -GRANT SELECT ON TABLE ref.ts_messager_msr TO invite; -- @@ -3899,7 +3876,6 @@ GRANT SELECT ON TABLE ref.ts_messager_msr TO invite; -- GRANT SELECT ON TABLE ref.ts_messagerlang_mrl TO stacomi_test; -GRANT SELECT ON TABLE ref.ts_messagerlang_mrl TO invite; -- @@ -3909,7 +3885,6 @@ GRANT SELECT ON TABLE ref.ts_messagerlang_mrl TO invite; -- GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_nomenclature_nom TO stacomi_test; -GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_nomenclature_nom TO invite; -- @@ -3918,7 +3893,6 @@ GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_nomenclature_nom TO invite; -- Name: TABLE ts_organisme_org; Type: ACL; Schema: ref; Owner: postgres -- -GRANT SELECT ON TABLE ref.ts_organisme_org TO invite; GRANT SELECT ON TABLE ref.ts_organisme_org TO stacomi_test; @@ -3929,7 +3903,6 @@ GRANT SELECT ON TABLE ref.ts_organisme_org TO stacomi_test; -- GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_sequence_seq TO stacomi_test; -GRANT SELECT ON TABLE ref.ts_sequence_seq TO invite; -- diff --git a/initdb/40_change_owner.sql b/initdb/40_change_owner.sql index bdd29a7..ec91d7f 100644 --- a/initdb/40_change_owner.sql +++ b/initdb/40_change_owner.sql @@ -42,7 +42,7 @@ ALTER VIEW test.vue_lot_ope_car OWNER TO stacomi_test; ALTER VIEW test.vue_lot_ope_car_qan OWNER TO stacomi_test; ALTER VIEW test.vue_ope_lot_ech_parqual OWNER TO stacomi_test; ALTER VIEW test.vue_ope_lot_ech_parquan OWNER TO stacomi_test; -REASSIGN OWNED BY test TO group_stacomi; +REASSIGN OWNED BY stacomi_test TO group_stacomi; -- below owned by just ensures that the sequence is dropped if the column is dropped also. -- GitLab From 5d34ab786b87c00cec16aa3b9bc50c3b671b3c0b Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 15:28:46 +0100 Subject: [PATCH 02/22] =?UTF-8?q?passage=20=C3=A0=20stacomi=5Ftest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gitlab-ci/test_psql.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 33ac420..91723bd 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -12,7 +12,7 @@ script: - psql -U postgres -h host_db -c "SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';" - psql -U postgres -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat - - export PGPASSWORD=test && psql -U test -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits + - export PGPASSWORD=stacomi_test && psql -U stacomi_test -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits ####################### # for any branch, but main -- GitLab From 8241e3a307d4bbae403cf5f9f4110fbc83c49cf8 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 16:37:58 +0100 Subject: [PATCH 03/22] stacomi_test everywhere --- .gitlab-ci.yml | 3 ++- gitlab-ci/R/test_BDD.R | 4 ++-- gitlab-ci/test_psql.gitlab-ci.yml | 5 ++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9ab9937..5a8f2b9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,7 +14,8 @@ variables: r_base_version: "4.x" docker_version: "20.10" docker_version_dind: "${docker_version}-dind" - POSTGRES_PASSWORD: postgres + POSTGRES_USER: stacomi_test + POSTGRES_PASSWORD: stacomi_test include: - local: '/gitlab-ci/rules.gitlab-ci.yml' # generic rules to be used for main branch or others diff --git a/gitlab-ci/R/test_BDD.R b/gitlab-ci/R/test_BDD.R index 7a21b7c..6f0eab3 100644 --- a/gitlab-ci/R/test_BDD.R +++ b/gitlab-ci/R/test_BDD.R @@ -1,8 +1,8 @@ require("RPostgreSQL") require("sqldf") -options(sqldf.RPostgreSQL.user = "postgres", - sqldf.RPostgreSQL.password = "postgres", +options(sqldf.RPostgreSQL.user = "stacomi_test", + sqldf.RPostgreSQL.password = "stacomi_test", sqldf.RPostgreSQL.dbname = "bd_contmig_nat", sqldf.RPostgreSQL.host = "host_db", sqldf.RPostgreSQL.port = 5432) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 91723bd..52e1db5 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -10,9 +10,8 @@ - psql --version - export PGPASSWORD=$POSTGRES_PASSWORD script: - - psql -U postgres -h host_db -c "SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';" - - psql -U postgres -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat - - export PGPASSWORD=stacomi_test && psql -U stacomi_test -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits + - psql -U $POSTGRES_USER -h host_db -c "SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';" + - psql -U $POSTGRES_USER -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits ####################### # for any branch, but main -- GitLab From c6b9b2e0b5b0eb5e118489974cd0fb6107095f4a Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 17:03:35 +0100 Subject: [PATCH 04/22] feat (CI): version of postgresql et postgis shown --- gitlab-ci/test_psql.gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 52e1db5..371132a 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -10,8 +10,9 @@ - psql --version - export PGPASSWORD=$POSTGRES_PASSWORD script: - - psql -U $POSTGRES_USER -h host_db -c "SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';" - - psql -U $POSTGRES_USER -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits + - psql -U $POSTGRES_USER -h host_db -c "SELECT version();" + - psql -U $POSTGRES_USER -h host_db -c "SELECT postgis_version();" + - psql -U $POSTGRES_USER -h host_db -c "SELECT * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur pour vérIfier les droits ####################### # for any branch, but main -- GitLab From e873538eea3d3a0019e9767f1e61fa96cb67107e Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 17:24:13 +0100 Subject: [PATCH 05/22] CI: passage au [dependency proxy](https://docs.gitlab.com/user/packages/dependency_proxy/) --- gitlab-ci/build_images_docker.gitlab-ci.yml | 8 ++++---- gitlab-ci/test_psql.gitlab-ci.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gitlab-ci/build_images_docker.gitlab-ci.yml b/gitlab-ci/build_images_docker.gitlab-ci.yml index 3229806..ef10f75 100644 --- a/gitlab-ci/build_images_docker.gitlab-ci.yml +++ b/gitlab-ci/build_images_docker.gitlab-ci.yml @@ -6,7 +6,7 @@ ####################### # for any branch, but main build_db-dev: - image: docker:$docker_version + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -21,7 +21,7 @@ build_db-dev: ####################### # for main banch only build_db-prod: - image: docker:$docker_version + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -41,7 +41,7 @@ build_db-prod: ####################### # for any branch, but main build_R-dev: - image: docker:$docker_version + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -55,7 +55,7 @@ build_R-dev: ####################### # for main banch only build_R-prod: - image: docker:$docker_version + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version stage: build_images services: - docker:$docker_version_dind diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 371132a..24f86c3 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -4,7 +4,7 @@ # template for the test .test_psql_template: stage: test - image: postgres:${postgres_version} + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/postgres:${postgres_version} before_script: - sleep 120 # waiting postgresql - psql --version -- GitLab From bb6d27772b333105ecf2929d9f601c2b41d645b3 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 19:25:05 +0100 Subject: [PATCH 06/22] fix: CI --- gitlab-ci/test_psql.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 24f86c3..701d65b 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -10,8 +10,8 @@ - psql --version - export PGPASSWORD=$POSTGRES_PASSWORD script: - - psql -U $POSTGRES_USER -h host_db -c "SELECT version();" - - psql -U $POSTGRES_USER -h host_db -c "SELECT postgis_version();" + - psql -U $POSTGRES_USER -h host_db -c "SELECT version();" bd_contmig_nat + - psql -U $POSTGRES_USER -h host_db -c "SELECT postgis_version();" bd_contmig_nat - psql -U $POSTGRES_USER -h host_db -c "SELECT * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur pour vérIfier les droits ####################### -- GitLab From 461a4de92268627dbbfdff7dc977934d1c2c6829 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 19:37:28 +0100 Subject: [PATCH 07/22] up --- gitlab-ci/test_psql.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 701d65b..d67af5f 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -10,7 +10,7 @@ - psql --version - export PGPASSWORD=$POSTGRES_PASSWORD script: - - psql -U $POSTGRES_USER -h host_db -c "SELECT version();" bd_contmig_nat + - psql -U stacomi_test -h host_db -c "SELECT version();" bd_contmig_nat - psql -U $POSTGRES_USER -h host_db -c "SELECT postgis_version();" bd_contmig_nat - psql -U $POSTGRES_USER -h host_db -c "SELECT * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur pour vérIfier les droits -- GitLab From 0ca8101a78e489bba01d874711fed0c7763cf4db Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 20:02:48 +0100 Subject: [PATCH 08/22] up --- gitlab-ci/test_psql.gitlab-ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index d67af5f..4cb842d 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -6,10 +6,14 @@ stage: test image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/postgres:${postgres_version} before_script: - - sleep 120 # waiting postgresql + - echo "Attente que PostgreSQL soit prêt..." + - until pg_isready -h host_db -p 5432; do echo "En attente de PostgreSQL..."; sleep 2; done - psql --version - export PGPASSWORD=$POSTGRES_PASSWORD script: + - echo $POSTGRES_USER + - echo $PGPASSWORD + - echo PGPASSWORD - psql -U stacomi_test -h host_db -c "SELECT version();" bd_contmig_nat - psql -U $POSTGRES_USER -h host_db -c "SELECT postgis_version();" bd_contmig_nat - psql -U $POSTGRES_USER -h host_db -c "SELECT * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur pour vérIfier les droits -- GitLab From 26f8c2dc9978e0ac60157e0f8dae39dc23992760 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 21:54:03 +0100 Subject: [PATCH 09/22] retour --- gitlab-ci/test_psql.gitlab-ci.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 4cb842d..3e3ab56 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -6,17 +6,15 @@ stage: test image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/postgres:${postgres_version} before_script: - - echo "Attente que PostgreSQL soit prêt..." - - until pg_isready -h host_db -p 5432; do echo "En attente de PostgreSQL..."; sleep 2; done + - sleep 120 # waiting postgresql - psql --version - export PGPASSWORD=$POSTGRES_PASSWORD script: - - echo $POSTGRES_USER - - echo $PGPASSWORD - - echo PGPASSWORD - - psql -U stacomi_test -h host_db -c "SELECT version();" bd_contmig_nat - - psql -U $POSTGRES_USER -h host_db -c "SELECT postgis_version();" bd_contmig_nat - - psql -U $POSTGRES_USER -h host_db -c "SELECT * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur pour vérIfier les droits + - psql -U postgres -h host_db -c "SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';" + - psql -U postgres -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat + - export PGPASSWORD=stacomi_test && psql -U stacomi_test -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits + +# test avec l'utilisateur pour vérIfier les droits ####################### # for any branch, but main -- GitLab From a5cfb717457c55897dd9cce5437f7cd723737b26 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 22:00:59 +0100 Subject: [PATCH 10/22] retour2 --- gitlab-ci/test_psql.gitlab-ci.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 3e3ab56..91723bd 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -4,7 +4,7 @@ # template for the test .test_psql_template: stage: test - image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/postgres:${postgres_version} + image: postgres:${postgres_version} before_script: - sleep 120 # waiting postgresql - psql --version @@ -14,8 +14,6 @@ - psql -U postgres -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat - export PGPASSWORD=stacomi_test && psql -U stacomi_test -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits -# test avec l'utilisateur pour vérIfier les droits - ####################### # for any branch, but main test_psql-dev: -- GitLab From fd3284e263d2f4d9e90bca9442a215808fb0bfd2 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Tue, 25 Feb 2025 22:10:59 +0100 Subject: [PATCH 11/22] retour3 --- gitlab-ci/build_images_docker.gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gitlab-ci/build_images_docker.gitlab-ci.yml b/gitlab-ci/build_images_docker.gitlab-ci.yml index ef10f75..3229806 100644 --- a/gitlab-ci/build_images_docker.gitlab-ci.yml +++ b/gitlab-ci/build_images_docker.gitlab-ci.yml @@ -6,7 +6,7 @@ ####################### # for any branch, but main build_db-dev: - image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version + image: docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -21,7 +21,7 @@ build_db-dev: ####################### # for main banch only build_db-prod: - image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version + image: docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -41,7 +41,7 @@ build_db-prod: ####################### # for any branch, but main build_R-dev: - image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version + image: docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -55,7 +55,7 @@ build_R-dev: ####################### # for main banch only build_R-prod: - image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version + image: docker:$docker_version stage: build_images services: - docker:$docker_version_dind -- GitLab From 5dc49897d287aafc6adca12bc3931cb6597b2e6b Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 09:57:23 +0100 Subject: [PATCH 12/22] avec un ping --- gitlab-ci/test_psql.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 91723bd..d84bdb7 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -9,6 +9,7 @@ - sleep 120 # waiting postgresql - psql --version - export PGPASSWORD=$POSTGRES_PASSWORD + - ping host_db -c 10 script: - psql -U postgres -h host_db -c "SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';" - psql -U postgres -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat -- GitLab From 20796872bb1c57823c698ee48a57d6e6feff0557 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 10:38:30 +0100 Subject: [PATCH 13/22] renew --- .gitlab-ci.yml | 3 +++ gitlab-ci/build_images_docker.gitlab-ci.yml | 8 ++++---- gitlab-ci/services.gitlab-ci.yml | 4 ++-- gitlab-ci/test_psql.gitlab-ci.yml | 7 +++---- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5a8f2b9..6d2bc6b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,6 +16,9 @@ variables: docker_version_dind: "${docker_version}-dind" POSTGRES_USER: stacomi_test POSTGRES_PASSWORD: stacomi_test + POSTGRES_DB: host_db + POSTGRES_HOST: host_db + POSTGRES_PORT: bd_contmig_nat include: - local: '/gitlab-ci/rules.gitlab-ci.yml' # generic rules to be used for main branch or others diff --git a/gitlab-ci/build_images_docker.gitlab-ci.yml b/gitlab-ci/build_images_docker.gitlab-ci.yml index 3229806..ef10f75 100644 --- a/gitlab-ci/build_images_docker.gitlab-ci.yml +++ b/gitlab-ci/build_images_docker.gitlab-ci.yml @@ -6,7 +6,7 @@ ####################### # for any branch, but main build_db-dev: - image: docker:$docker_version + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -21,7 +21,7 @@ build_db-dev: ####################### # for main banch only build_db-prod: - image: docker:$docker_version + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -41,7 +41,7 @@ build_db-prod: ####################### # for any branch, but main build_R-dev: - image: docker:$docker_version + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version stage: build_images services: - docker:$docker_version_dind @@ -55,7 +55,7 @@ build_R-dev: ####################### # for main banch only build_R-prod: - image: docker:$docker_version + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version stage: build_images services: - docker:$docker_version_dind diff --git a/gitlab-ci/services.gitlab-ci.yml b/gitlab-ci/services.gitlab-ci.yml index 4821c27..2a7eacd 100644 --- a/gitlab-ci/services.gitlab-ci.yml +++ b/gitlab-ci/services.gitlab-ci.yml @@ -5,11 +5,11 @@ .service-dev: services: - name: $CI_REGISTRY_IMAGE/$imagedb_name:$db_version-pg$postgres_version-ps$postgis_version-$tag_dev - alias: host_db + alias: $POSTGRES_HOST ####################### # for main banch only .service-prod: services: - name: $CI_REGISTRY_IMAGE/$imagedb_name:latest - alias: host_db \ No newline at end of file + alias: $POSTGRES_HOST \ No newline at end of file diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index d84bdb7..4af0e0b 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -9,11 +9,10 @@ - sleep 120 # waiting postgresql - psql --version - export PGPASSWORD=$POSTGRES_PASSWORD - - ping host_db -c 10 script: - - psql -U postgres -h host_db -c "SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';" - - psql -U postgres -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat - - export PGPASSWORD=stacomi_test && psql -U stacomi_test -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits + - psql -U $POSTGRES_USER -h $POSTGRES_HOST -p $POSTGRES_PORT -d $POSTGRES_DB -c "SELECT version();" + - psql -U $POSTGRES_USER -h $POSTGRES_HOST -p $POSTGRES_PORT -d $POSTGRES_DB -c "SELECT postgis_version();" + - psql -U $POSTGRES_USER -h $POSTGRES_HOST -p $POSTGRES_PORT -d $POSTGRES_DB -c "SELECT * from test.t_dispositifcomptage_dic" ####################### # for any branch, but main -- GitLab From 833a08ab82bcfc62543b8590bd25d7626429c167 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 10:49:16 +0100 Subject: [PATCH 14/22] up --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6d2bc6b..534c59a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,9 +16,9 @@ variables: docker_version_dind: "${docker_version}-dind" POSTGRES_USER: stacomi_test POSTGRES_PASSWORD: stacomi_test - POSTGRES_DB: host_db + POSTGRES_DB: bd_contmig_nat POSTGRES_HOST: host_db - POSTGRES_PORT: bd_contmig_nat + POSTGRES_PORT: 5432 include: - local: '/gitlab-ci/rules.gitlab-ci.yml' # generic rules to be used for main branch or others -- GitLab From cf390b13f5ddb20a1dd483ce6c0145d784d718cc Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 11:02:00 +0100 Subject: [PATCH 15/22] up --- .gitlab-ci.yml | 11 ++++++----- gitlab-ci/test_psql.gitlab-ci.yml | 8 ++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 534c59a..b02befd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,17 +8,18 @@ variables: db_version: "0.6.1" postgres_version: "14" postgis_version: "3.2" + POSTGRES_PASSWORD: postgres imager_name: "environnement_test_r" r_version: "0.1" imageR_name: "r4stacomi" r_base_version: "4.x" docker_version: "20.10" docker_version_dind: "${docker_version}-dind" - POSTGRES_USER: stacomi_test - POSTGRES_PASSWORD: stacomi_test - POSTGRES_DB: bd_contmig_nat - POSTGRES_HOST: host_db - POSTGRES_PORT: 5432 + PG_USER: stacomi_test + PG_USER_PASSWORD: stacomi_test + PG_DB: bd_contmig_nat + PG_HOST: host_db + PG_PORT: 5432 include: - local: '/gitlab-ci/rules.gitlab-ci.yml' # generic rules to be used for main branch or others diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 4af0e0b..75354d2 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -8,11 +8,11 @@ before_script: - sleep 120 # waiting postgresql - psql --version - - export PGPASSWORD=$POSTGRES_PASSWORD + - export PGPASSWORD=$PG_USER_PASSWORD script: - - psql -U $POSTGRES_USER -h $POSTGRES_HOST -p $POSTGRES_PORT -d $POSTGRES_DB -c "SELECT version();" - - psql -U $POSTGRES_USER -h $POSTGRES_HOST -p $POSTGRES_PORT -d $POSTGRES_DB -c "SELECT postgis_version();" - - psql -U $POSTGRES_USER -h $POSTGRES_HOST -p $POSTGRES_PORT -d $POSTGRES_DB -c "SELECT * from test.t_dispositifcomptage_dic" + - psql -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB -c "SELECT version();" + - psql -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB -c "SELECT postgis_version();" + - psql -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB -c "SELECT * from test.t_dispositifcomptage_dic" ####################### # for any branch, but main -- GitLab From 81e879690259d8134d92b247d7db8773459c0d46 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 11:08:02 +0100 Subject: [PATCH 16/22] up --- gitlab-ci/services.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitlab-ci/services.gitlab-ci.yml b/gitlab-ci/services.gitlab-ci.yml index 2a7eacd..33f41eb 100644 --- a/gitlab-ci/services.gitlab-ci.yml +++ b/gitlab-ci/services.gitlab-ci.yml @@ -5,11 +5,11 @@ .service-dev: services: - name: $CI_REGISTRY_IMAGE/$imagedb_name:$db_version-pg$postgres_version-ps$postgis_version-$tag_dev - alias: $POSTGRES_HOST + alias: $PG_HOST ####################### # for main banch only .service-prod: services: - name: $CI_REGISTRY_IMAGE/$imagedb_name:latest - alias: $POSTGRES_HOST \ No newline at end of file + alias: $PG_HOST \ No newline at end of file -- GitLab From f4cf361056674140a2f6351e86fef684ba2d0cb8 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 11:38:25 +0100 Subject: [PATCH 17/22] modification de l'attente postgresql --- gitlab-ci/test_psql.gitlab-ci.yml | 5 ++++- gitlab-ci/test_r.gitlab-ci.yml | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 75354d2..5dcf133 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -6,7 +6,10 @@ stage: test image: postgres:${postgres_version} before_script: - - sleep 120 # waiting postgresql + - until pg_isready -h $POSTGRES_HOST -p $POSTGRES_PORT -U $POSTGRES_USER; do + echo "En attente de la disponibilité de PostgreSQL..." + sleep 1 + done - psql --version - export PGPASSWORD=$PG_USER_PASSWORD script: diff --git a/gitlab-ci/test_r.gitlab-ci.yml b/gitlab-ci/test_r.gitlab-ci.yml index e2a948d..73b5c39 100644 --- a/gitlab-ci/test_r.gitlab-ci.yml +++ b/gitlab-ci/test_r.gitlab-ci.yml @@ -5,7 +5,10 @@ .test_r_template: stage: test before_script: - - sleep 120 # waiting postgresql + - until pg_isready -h $POSTGRES_HOST -p $POSTGRES_PORT -U $POSTGRES_USER; do + echo "En attente de la disponibilité de PostgreSQL..." + sleep 1 + done script: - Rscript -e '1+1' - Rscript -e 'a<-1; a+1' -- GitLab From 96d7d9def022b49aec2b1c775bef46294fc202e8 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 11:51:55 +0100 Subject: [PATCH 18/22] fix --- gitlab-ci/services.gitlab-ci.yml | 4 ++-- gitlab-ci/test_psql.gitlab-ci.yml | 12 +++++++----- gitlab-ci/test_r.gitlab-ci.yml | 12 +++++++----- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/gitlab-ci/services.gitlab-ci.yml b/gitlab-ci/services.gitlab-ci.yml index 33f41eb..39919fe 100644 --- a/gitlab-ci/services.gitlab-ci.yml +++ b/gitlab-ci/services.gitlab-ci.yml @@ -2,14 +2,14 @@ ####################### # for any branch, but main -.service-dev: +.service-pg-dev: services: - name: $CI_REGISTRY_IMAGE/$imagedb_name:$db_version-pg$postgres_version-ps$postgis_version-$tag_dev alias: $PG_HOST ####################### # for main banch only -.service-prod: +.service-pg-prod: services: - name: $CI_REGISTRY_IMAGE/$imagedb_name:latest alias: $PG_HOST \ No newline at end of file diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index 5dcf133..a4fc0bd 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -6,9 +6,11 @@ stage: test image: postgres:${postgres_version} before_script: - - until pg_isready -h $POSTGRES_HOST -p $POSTGRES_PORT -U $POSTGRES_USER; do - echo "En attente de la disponibilité de PostgreSQL..." - sleep 1 + - echo "En attente de la disponibilité de PostgreSQL" + - | + until pg_isready -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB; do + echo "." + sleep 1 done - psql --version - export PGPASSWORD=$PG_USER_PASSWORD @@ -24,7 +26,7 @@ test_psql-dev: - build_db-dev extends: - .rules_other - - .service-dev + - .service-pg-dev - .test_psql_template @@ -35,5 +37,5 @@ test_psql-prod: - build_db-prod extends: - .rules_main - - .service-prod + - .service-pg-prod - .test_psql_template diff --git a/gitlab-ci/test_r.gitlab-ci.yml b/gitlab-ci/test_r.gitlab-ci.yml index 73b5c39..459a446 100644 --- a/gitlab-ci/test_r.gitlab-ci.yml +++ b/gitlab-ci/test_r.gitlab-ci.yml @@ -5,9 +5,11 @@ .test_r_template: stage: test before_script: - - until pg_isready -h $POSTGRES_HOST -p $POSTGRES_PORT -U $POSTGRES_USER; do - echo "En attente de la disponibilité de PostgreSQL..." - sleep 1 + - echo "En attente de la disponibilité de PostgreSQL" + - | + until pg_isready -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB; do + echo "." + sleep 1 done script: - Rscript -e '1+1' @@ -25,7 +27,7 @@ test_r-dev: - test_psql-dev extends: - .rules_other - - .service-dev + - .service-pg-dev - .test_r_template @@ -38,5 +40,5 @@ test_r-prod: - build_R-prod extends: - .rules_main - - .service-prod + - .service-pg-prod - .test_r_template -- GitLab From 8879dc05633e37689ba10c61f7362a2aabeee127 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 17:07:51 +0100 Subject: [PATCH 19/22] fonction d'attente de postgresql dans R --- gitlab-ci/R/test_BDD.R | 39 ++++++++++++++++++++++++++++++++-- gitlab-ci/test_r.gitlab-ci.yml | 7 ------ 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/gitlab-ci/R/test_BDD.R b/gitlab-ci/R/test_BDD.R index 6f0eab3..de87d24 100644 --- a/gitlab-ci/R/test_BDD.R +++ b/gitlab-ci/R/test_BDD.R @@ -1,11 +1,46 @@ require("RPostgreSQL") require("sqldf") -options(sqldf.RPostgreSQL.user = "stacomi_test", +options( + sqldf.RPostgreSQL.user = "stacomi_test", sqldf.RPostgreSQL.password = "stacomi_test", sqldf.RPostgreSQL.dbname = "bd_contmig_nat", sqldf.RPostgreSQL.host = "host_db", - sqldf.RPostgreSQL.port = 5432) + sqldf.RPostgreSQL.port = 5432 +) + +check_postgres_connection <- function( + host = getOption("sqldf.RPostgreSQL.host"), + port = getOption("sqldf.RPostgreSQL.port"), + dbname = getOption("sqldf.RPostgreSQL.dbname"), + user = getOption("sqldf.RPostgreSQL.user"), + password = getOption("sqldf.RPostgreSQL.password"), + timeout = 3 +) { + tryCatch( + { + drv <- dbDriver("PostgreSQL") + con <- dbConnect(drv, + host = host, + port = port, + dbname = dbname, + user = user, + password = password, + connect_timeout = timeout + ) + + dbDisconnect(con) + return(TRUE) + }, + error = function(e) { + return(FALSE) + } + ) +} + +cat("Waiting postgresl") +while(check_postgres_connection() == FALSE) + cat(".") cat("###################") cat("Version postgresql") diff --git a/gitlab-ci/test_r.gitlab-ci.yml b/gitlab-ci/test_r.gitlab-ci.yml index 459a446..01ea043 100644 --- a/gitlab-ci/test_r.gitlab-ci.yml +++ b/gitlab-ci/test_r.gitlab-ci.yml @@ -4,13 +4,6 @@ # template for the test .test_r_template: stage: test - before_script: - - echo "En attente de la disponibilité de PostgreSQL" - - | - until pg_isready -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB; do - echo "." - sleep 1 - done script: - Rscript -e '1+1' - Rscript -e 'a<-1; a+1' -- GitLab From 9b07d653249f5ca382ee8e99ea2b9763a6885a25 Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Wed, 26 Feb 2025 18:56:37 +0100 Subject: [PATCH 20/22] up --- gitlab-ci/R/test_BDD.R | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gitlab-ci/R/test_BDD.R b/gitlab-ci/R/test_BDD.R index de87d24..ec0c954 100644 --- a/gitlab-ci/R/test_BDD.R +++ b/gitlab-ci/R/test_BDD.R @@ -25,8 +25,7 @@ check_postgres_connection <- function( port = port, dbname = dbname, user = user, - password = password, - connect_timeout = timeout + password = password ) dbDisconnect(con) -- GitLab From 390dd7a5c99046a4ee3fa7b6c9f83e067acf629e Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Thu, 27 Feb 2025 09:40:25 +0100 Subject: [PATCH 21/22] minor --- gitlab-ci/R/test_BDD.R | 2 +- gitlab-ci/test_psql.gitlab-ci.yml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/gitlab-ci/R/test_BDD.R b/gitlab-ci/R/test_BDD.R index ec0c954..4d3bf4c 100644 --- a/gitlab-ci/R/test_BDD.R +++ b/gitlab-ci/R/test_BDD.R @@ -37,7 +37,7 @@ check_postgres_connection <- function( ) } -cat("Waiting postgresl") +cat("Waiting postgresql\n") while(check_postgres_connection() == FALSE) cat(".") diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml index a4fc0bd..997d65a 100644 --- a/gitlab-ci/test_psql.gitlab-ci.yml +++ b/gitlab-ci/test_psql.gitlab-ci.yml @@ -9,8 +9,7 @@ - echo "En attente de la disponibilité de PostgreSQL" - | until pg_isready -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB; do - echo "." - sleep 1 + sleep 2 done - psql --version - export PGPASSWORD=$PG_USER_PASSWORD -- GitLab From e9c4e187d4480d981e3e64078bae00f772b1000b Mon Sep 17 00:00:00 2001 From: Laurent BEAULATON <laurent.beaulaton@ofb.gouv.fr> Date: Thu, 27 Feb 2025 09:59:12 +0100 Subject: [PATCH 22/22] =?UTF-8?q?correction=20num=C3=A9ro=20version=20BDD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b02befd..ae6400d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ stages: variables: tag_dev: "dev" imagedb_name: "stacomi_db" - db_version: "0.6.1" + db_version: "0.6.0" postgres_version: "14" postgis_version: "3.2" POSTGRES_PASSWORD: postgres -- GitLab