Adapter le CI du projet utilisateur à l'AUS de l'INSEE
Adapter le CI du projet utilisateur à l'AUS de l'INSEE
Les tests réalisés sur l'AUS de l'INSEE avec @damiendotta (cf CR) ont permis de mettre en évidence que certaines corrections étaient nécessaires pour que le CI du projet utilisateur soit fonctionnel sur le gitlab interne de l'INSEE.
Validation
- [ ] Je peux réaliser la procédure de dev/dev_history_book.Rmd
et obtenir une note de conjoncture au format bookdown compilé par l'intégration continue.
Un premier test à permis de mettre en évidence:
-
Que Le CI se déclenche et que les checks du package passent sur AUS -
Que les jobs de deṕloiement étaient malheureusement manquant -> Ceci est relevée dans #31 (closed).
Comment Technique
-
Mettre à jour le gitlab-ci.yml
du projet utilisateur, cf infra.-
Figer l'image Docker de base -
Mettre RSPM adequat dans le gitlab-ci.yml -
Ajouter le Proxy -
Ajouter le tag du runner dédié poc-kube
-
Installer conj.region à partir du {drat} -
Expliquer dans la doc comment relancer le CI si nécessaire
-
Modifications à apporter au .gitlab-ci.yml
image: rocker/verse:4.1
variables:
GIT_SSL_NO_VERIFY: "1"
SUPER_PROXY: "http://proxy-rie.http.insee.fr:8080"
SUPER_NO_PROXY: ".insee.fr,insee.intra,127.0.0.1"
HTTP_PROXY: $SUPER_PROXY
HTTPS_PROXY: $SUPER_PROXY
http_proxy: $SUPER_PROXY
https_proxy: $SUPER_PROXY
no_proxy: $SUPER_NO_PROXY
NO_PROXY: $SUPER_NO_PROXY
GIT_DEPTH: 10
REPO_NAME: "https://packagemanager.rstudio.com/all/__linux__/focal/latest"
R_LIBS: "ci/lib"
R_LIBS_USER: "ci/lib"
SITE_BY_BRANCH: "TRUE"
default:
tags:
- poc-kube
-
Retirer les "Remotes: git" dans le DESCRIPTION utilisateur. -
S'assurrer que {conjdown} n'est plus installé. -
Créer le zip des odt cf .gitlab-ci.yml du package. -
Mettre à jour le .Rprofile
utilisateur avec pour pouvoir avoir accès aux bonsrepos
.Rprofile utilisateur
# Si on a déjà le Nexus, alors on est en AUS
# Et donc, dans "r-local", on a {conj.region}
if (any(grepl("nexus", getOption("repos")))) {
repos <- c(
"CRAN" = "https://nexus.insee.fr/repository/r-cran",
"RSPM" = "https://nexus.insee.fr/repository/r-cran",
"local" = "https://nexus.insee.fr/repository/r-local"
# "drat" = "https://propre-conj.pages.lab.sspcloud.fr/drat",
# "thinkropen" = "https://thinkr-open.r-universe.dev"
)
} else {
if (grepl("ubuntu 18.04|debian 8", tolower(utils::osVersion))) {
repos <- c(
"RSPM" = "https://packagemanager.rstudio.com/all/__linux__/bionic/latest",
"CRAN" = "https://cran.rstudio.com",
"thinkropen" = "https://thinkr-open.r-universe.dev",
"drat" = "https://propre-conj.pages.lab.sspcloud.fr/drat"
)
} else if (grepl("ubuntu 20.04|debian 9", tolower(utils::osVersion))) {
repos <- c(
"RSPM" = "https://packagemanager.rstudio.com/all/__linux__/focal/latest",
"CRAN" = "https://cran.rstudio.com",
"thinkropen" = "https://thinkr-open.r-universe.dev",
"drat" = "https://propre-conj.pages.lab.sspcloud.fr/drat"
)
} else if (grepl("centos", tolower(utils::osVersion))) {
repos <- c(
"RSPM" = "https://packagemanager.rstudio.com/all/__linux__/centos7/latest",
"CRAN" = "https://cran.rstudio.com",
"thinkropen" = "https://thinkr-open.r-universe.dev",
"drat" = "https://propre-conj.pages.lab.sspcloud.fr/drat"
)
} else {
# Chez ThinkR ou dans le CI - Accès Internet
repos <- c(
"CRAN" = "https://cran.rstudio.com",
"RSPM" = "https://cran.rstudio.com",
"drat" = "https://propre-conj.pages.lab.sspcloud.fr/drat",
# "thinkropen" = "https://thinkr-open.r-universe.dev"
)
}
}
options(repos = repos)
Edited by Antoine Languillaume