mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 15:31:38 +01:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d23534ee0 | ||
|
|
d2e7ac9348 |
@@ -129,8 +129,9 @@ variables:
|
|||||||
options:
|
options:
|
||||||
- "yes"
|
- "yes"
|
||||||
- "no"
|
- "no"
|
||||||
TESTS_PROJECT_URL:
|
TESTS_BRANCH:
|
||||||
description: "URL of the E2E-test Gitlab project API with project ID."
|
description: "Branch of E2E-tests on which the test pipeline is triggered"
|
||||||
|
value: "main"
|
||||||
# please use the following set of variables with normalized names:
|
# please use the following set of variables with normalized names:
|
||||||
DOMAIN: "${NAMESPACE}.${CLUSTER}.${BASE_DOMAIN}"
|
DOMAIN: "${NAMESPACE}.${CLUSTER}.${BASE_DOMAIN}"
|
||||||
ISTIO_DOMAIN: "${NAMESPACE}.istio.${CLUSTER}.${BASE_DOMAIN}"
|
ISTIO_DOMAIN: "${NAMESPACE}.istio.${CLUSTER}.${BASE_DOMAIN}"
|
||||||
@@ -408,51 +409,50 @@ run-tests:
|
|||||||
when: "always"
|
when: "always"
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
COMPONENTS="login or portal or profile or navigation"
|
|
||||||
if [ "${DEPLOY_ALL_COMPONENTS}" != "no" ]; then
|
|
||||||
COMPONENTS="${COMPONENTS} or collabora or ics or jitsi or keycloak or nextcloud or openproject or ox or ucs \
|
|
||||||
or xwiki"
|
|
||||||
else
|
|
||||||
[ "${DEPLOY_COLLABORA}" != "no" ] && COMPONENTS="${COMPONENTS} or collabora"
|
|
||||||
[ "${DEPLOY_ICS}" != "no" ] && COMPONENTS="${COMPONENTS} or ics"
|
|
||||||
[ "${DEPLOY_JITSI}" != "no" ] && COMPONENTS="${COMPONENTS} or jitsi"
|
|
||||||
[ "${DEPLOY_KEYCLOAK}" != "no" ] && COMPONENTS="${COMPONENTS} or keycloak"
|
|
||||||
[ "${DEPLOY_NEXTCLOUD}" != "no" ] && COMPONENTS="${COMPONENTS} or nextcloud"
|
|
||||||
[ "${DEPLOY_OPENPROJECT}" != "no" ] && COMPONENTS="${COMPONENTS} or openproject"
|
|
||||||
[ "${DEPLOY_OX}" != "no" ] && COMPONENTS="${COMPONENTS} or ox"
|
|
||||||
[ "${DEPLOY_UCS}" != "no" ] && COMPONENTS="${COMPONENTS} or ucs"
|
|
||||||
[ "${DEPLOY_XWIKI}" != "no" ] && COMPONENTS="${COMPONENTS} or xwiki"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Gathering passwords from UCS container ..."
|
|
||||||
UCS_CONTAINER_NAME=$( \
|
UCS_CONTAINER_NAME=$( \
|
||||||
kubectl -n ${NAMESPACE} get pods --no-headers \
|
kubectl -n ${NAMESPACE} get pods --no-headers --selector \
|
||||||
--selector 'app.kubernetes.io/instance=univention-corporate-container' \
|
'app.kubernetes.io/instance=univention-corporate-container' \
|
||||||
| awk '{print $1}' \
|
| grep Running \
|
||||||
|
| awk '{print $1}' \
|
||||||
)
|
)
|
||||||
echo "UCS_CONTAINER_NAME: ${UCS_CONTAINER_NAME}"
|
|
||||||
DEFAULT_USER_PASSWORD=$( \
|
DEFAULT_USER_PASSWORD=$( \
|
||||||
kubectl -n ${NAMESPACE} describe pod ${UCS_CONTAINER_NAME} \
|
kubectl -n ${NAMESPACE} describe pod ${UCS_CONTAINER_NAME} \
|
||||||
| grep DEFAULT_ACCOUNT_USER_PASSWORD \
|
| grep DEFAULT_ACCOUNT_USER_PASSWORD \
|
||||||
| awk '{print $2}' \
|
| awk '{print $2}' \
|
||||||
)
|
)
|
||||||
DEFAULT_ADMIN_PASSWORD=$( \
|
DEFAULT_ADMIN_PASSWORD=$(
|
||||||
kubectl -n ${NAMESPACE} describe pod ${UCS_CONTAINER_NAME} \
|
kubectl -n ${NAMESPACE} describe pod ${UCS_CONTAINER_NAME} \
|
||||||
| grep DEFAULT_ACCOUNT_ADMIN_PASSWORD \
|
| grep DEFAULT_ACCOUNT_ADMIN_PASSWORD \
|
||||||
| awk '{print $2}' \
|
| awk '{print $2}' \
|
||||||
)
|
)
|
||||||
|
|
||||||
echo "triggering test pipeline ..."
|
curl --request POST \
|
||||||
curl -X POST \
|
--header "Content-Type: application/json" \
|
||||||
-F "ref=main" \
|
--data "{ \
|
||||||
-F "token=${CI_JOB_TOKEN}" \
|
\"ref\": \"${TESTS_BRANCH}\", \
|
||||||
-F "variables[url]=https://portal.${DOMAIN}" \
|
\"token\": \"${CI_JOB_TOKEN}\", \
|
||||||
-F "variables[user_name]=${DEFAULT_USER_NAME}" \
|
\"variables\": { \
|
||||||
-F "variables[user_password]=${DEFAULT_USER_PASSWORD}" \
|
\"url\": \"https://portal.${DOMAIN}\", \
|
||||||
-F "variables[admin_name]=${DEFAULT_ADMIN_NAME}" \
|
\"user_name\": \"${DEFAULT_USER_NAME}\", \
|
||||||
-F "variables[admin_password]=${DEFAULT_ADMIN_PASSWORD}" \
|
\"user_password\": \"${DEFAULT_USER_PASSWORD}\", \
|
||||||
-F "variables[components]=\"${COMPONENTS}\"" \
|
\"admin_name\": \"${DEFAULT_ADMIN_NAME}\", \
|
||||||
https://${TESTS_PROJECT_URL}/trigger/pipeline
|
\"admin_password\": \"${DEFAULT_ADMIN_PASSWORD}\", \
|
||||||
|
\"DEPLOY_ALL_COMPONENTS\": \"${DEPLOY_ALL_COMPONENTS}\", \
|
||||||
|
\"DEPLOY_COLLABORA\": \"${DEPLOY_COLLABORA}\", \
|
||||||
|
\"DEPLOY_ELEMENT\": \"${DEPLOY_ELEMENT}\", \
|
||||||
|
\"DEPLOY_ICS\": \"${DEPLOY_ICS}\", \
|
||||||
|
\"DEPLOY_JITSI\": \"${DEPLOY_JITSI}\", \
|
||||||
|
\"DEPLOY_KEYCLOAK\": \"${DEPLOY_KEYCLOAK}\", \
|
||||||
|
\"DEPLOY_NEXTCLOUD\": \"${DEPLOY_NEXTCLOUD}\", \
|
||||||
|
\"DEPLOY_OPENPROJECT\": \"${DEPLOY_OPENPROJECT}\", \
|
||||||
|
\"DEPLOY_OX\": \"${DEPLOY_OX}\", \
|
||||||
|
\"DEPLOY_SERVICES\": \"${DEPLOY_SERVICES}\", \
|
||||||
|
\"DEPLOY_UCS\": \"${DEPLOY_UCS}\", \
|
||||||
|
\"DEPLOY_XWIKI\": \"${DEPLOY_XWIKI}\", \
|
||||||
|
\"DEPLOY_PROVISIONING\": \"${DEPLOY_PROVISIONING}\" \
|
||||||
|
} \
|
||||||
|
}" \
|
||||||
|
"https://${TESTS_PROJECT_URL}/trigger/pipeline"
|
||||||
|
|
||||||
generate-release-assets:
|
generate-release-assets:
|
||||||
stage: "generate-release-assets"
|
stage: "generate-release-assets"
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
# [0.3.0](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.2.10...v0.3.0) (2023-09-12)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **ci:** Selective tests ([d2e7ac9](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/d2e7ac93481249e9eb7e5e1a41a6c6e333abe2dc))
|
||||||
|
|
||||||
## [0.2.10](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.2.9...v0.2.10) (2023-09-06)
|
## [0.2.10](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.2.9...v0.2.10) (2023-09-06)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
17
README.md
17
README.md
@@ -460,17 +460,14 @@ components we are going to cover various aspects:
|
|||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
There is a frontend end-to-end test suite that can get triggered if the
|
The gitlab-ci pipeline contains a job named `run-tests` that can trigger a test suite pipeline on another gitlab project.
|
||||||
deployment is performed via a Gitlab pipeline.
|
The `DEPLOY_`-variables are used to determine which components should be tested.
|
||||||
|
In order for the trigger to work, the variable `TESTS_PROJECT_URL` has to be set on this gitlab project's CI variables
|
||||||
|
that can be found at `Settings` -> `CI/CD` -> `Variables`. The variable should have this format:
|
||||||
|
`<domain of gitlab>/api/v4/projects/<id>`.
|
||||||
|
|
||||||
Currently, the test suite is in progress to be published, so right now it is
|
If the branch of the test pipeline is not `main` this can be set with the .gitlab-ci.yml variable
|
||||||
only usable by project members. But that will change soon, and it could be used
|
`TESTS_BRANCH` while creating a new pipeline.
|
||||||
to create custom tests and perform them after deployment.
|
|
||||||
|
|
||||||
The deployment pipeline provides a variable named `TESTS_PROJECT_URL` that
|
|
||||||
points to the test pipeline residing in another Gitlab repository. At the end of
|
|
||||||
the deployment the test pipeline is triggered. Tests are just performed for
|
|
||||||
components that have been deployed prior.
|
|
||||||
|
|
||||||
|
|
||||||
# Footnotes
|
# Footnotes
|
||||||
|
|||||||
Reference in New Issue
Block a user