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}"