diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 930ad63dd0baba9eb75f2fdd88e978ffa1963919..c700f7d9c9c19e87e26a3451d3fca79a0d99b253 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -349,3 +349,52 @@ delete-data-from-prod:
- master
environment:
name: "k8sprod-02/jass-prod/${CI_COMMIT_REF_SLUG}"
+
+
+.log-fetcher:
+ stage: deploy
+ needs: []
+ when: manual
+ image: harbor.pasteur.fr/kube-system/helm-kubectl:3.12.0
+ variables:
+ GIT_STRATEGY: none # don't need to checkout sources
+ LAST_ROWS_COUNT: "400" # you can override it when triggering the job
+ CHART_LOCATION: "chart"
+ script:
+ - kubectl -n ${NAMESPACE} get quota
+ - mkdir logs
+ - |
+ for POD in $(kubectl -n ${NAMESPACE} get po -l="app.kubernetes.io/instance=${CI_COMMIT_REF_SLUG}" --output=jsonpath='{.items[*].metadata.name}'); do
+ echo "************************************************************"
+ echo "************************************************************"
+ echo "* ${POD}";
+ echo "************************************************************"
+ kubectl -n ${NAMESPACE} logs $POD --tail ${LAST_ROWS_COUNT} > logs/${POD}.log
+ cat logs/${POD}.log
+ done
+ - echo "Check Job artifacts to download or browse log files. See "Job artifacts">"Browse" on right panel"
+ artifacts:
+ when: always
+ paths:
+ - logs
+ expire_in: 1 month
+
+
+log-fetcher-in-dev:
+ except:
+ - master
+ extends: .log-fetcher
+ variables:
+ NAMESPACE: "jass-dev"
+ environment:
+ name: "k8sdev-01/${NAMESPACE}/${CI_COMMIT_REF_SLUG}"
+
+
+log-fetcher-in-prod:
+ only:
+ - master
+ extends: .log-fetcher
+ variables:
+ NAMESPACE: "jass-prod"
+ environment:
+ name: "k8sprod-02/${NAMESPACE}/${CI_COMMIT_REF_SLUG}"