@@ -4,40 +4,85 @@ services:
44
55variables :
66 DEPLOY_PATH : ~/gitlab
7+ DOCKER_DRIVER : overlay2
8+ DOCKER_TLS_CERTDIR : " "
9+ DOCKER_TAG : $CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
10+ DOCKER_IMAGE_NAME : $CI_REGISTRY_IMAGE:$DOCKER_TAG
11+ DOCKER_PULL_SECRET : docker-registry-secret
12+ APP_NAME : $CI_PROJECT_NAME
13+
714
815before_script :
916 - echo $CI_BUILD_REF
1017 - echo $CI_PROJECT_DIR
1118 - apk update && apk add git
1219
1320stages :
21+ - build
1422 - package
1523 - config
1624 - deploy
1725
18- maven-package :
26+ maven-package-webapps-core :
1927 image : ${CI_REGISTRY_IMAGE}/eclipse-temurin:17-jdk
20- stage : package
28+ stage : build
2129 script :
22- - ' ./mvnw -q deploy -P embl-ebi -s ci_settings.xml -DskipTests -Dmaven.source.skip=true'
23- - mkdir deployment
24- - cp webapps/core/target/webapps-core-*.war deployment/webapps-core.war
25- - cp webapps/core-v2/target/webapps-core-v2*.jar deployment/webapps-core-v2.jar
26- - cp agents/solr/target/agents-solr-*.jar deployment/agents-solr.jar
27- - cp agents/uploadworkers/target/agents-uploadworkers-*.jar deployment/agents-uploadworkers.jar
28- - cp pipelines/curation/target/pipelines-curation-*.jar deployment/pipelines-curation.jar
29- # - cp pipelines/ena/target/pipelines-ena-*.jar deployment/pipelines-ena.jar
30- # - cp pipelines/ncbi-ena-link/target/pipelines-ncbi-ena-link-*.jar deployment/pipelines-ncbi-ena-link.jar
31- - cp pipelines/sample-release/target/pipelines-sample-release-*.jar deployment/pipelines-sample-release.jar
32- - cp pipelines/sample-post-release-action/target/pipelines-sample-post-release-action*.jar deployment/pipelines-sample-post-release-action.jar
33- - cp pipelines/ncbi/target/pipelines-ncbi-*.jar deployment/pipelines-ncbi.jar
34- - cp pipelines/reindex/target/pipelines-reindex-*.jar deployment/pipelines-reindex.jar
35- - cp pipelines/sample-transformation-dtol/target/pipelines-sample-transformation-dtol-*.jar deployment/pipelines-sample-transformation-dtol.jar
30+ - ' ./mvnw -q deploy -pl webapps/core -am -P embl-ebi -s ci_settings.xml -DskipTests -Dmaven.source.skip=true'
3631 artifacts :
3732 paths :
38- - deployment
33+ - webapps/core/target/webapps-core-*.war
34+
35+ # maven-package:
36+ # image: ${CI_REGISTRY_IMAGE}/eclipse-temurin:17-jdk
37+ # stage: build
38+ # script:
39+ # - './mvnw -q deploy -P embl-ebi -s ci_settings.xml -DskipTests -Dmaven.source.skip=true'
40+ # - mkdir deployment
41+ # - cp webapps/core/target/webapps-core-*.war deployment/webapps-core.war
42+ # - cp webapps/core-v2/target/webapps-core-v2*.jar deployment/webapps-core-v2.jar
43+ # - cp agents/solr/target/agents-solr-*.jar deployment/agents-solr.jar
44+ # - cp agents/uploadworkers/target/agents-uploadworkers-*.jar deployment/agents-uploadworkers.jar
45+ # - cp pipelines/curation/target/pipelines-curation-*.jar deployment/pipelines-curation.jar
46+ # - cp pipelines/ena/target/pipelines-ena-*.jar deployment/pipelines-ena.jar
47+ # - cp pipelines/ncbi-ena-link/target/pipelines-ncbi-ena-link-*.jar deployment/pipelines-ncbi-ena-link.jar
48+ # - cp pipelines/sample-release/target/pipelines-sample-release-*.jar deployment/pipelines-sample-release.jar
49+ # - cp pipelines/sample-post-release-action/target/pipelines-sample-post-release-action*.jar deployment/pipelines-sample-post-release-action.jar
50+ # - cp pipelines/ncbi/target/pipelines-ncbi-*.jar deployment/pipelines-ncbi.jar
51+ # - cp pipelines/reindex/target/pipelines-reindex-*.jar deployment/pipelines-reindex.jar
52+ # - cp pipelines/sample-transformation-dtol/target/pipelines-sample-transformation-dtol-*.jar deployment/pipelines-sample-transformation-dtol.jar
53+ # artifacts:
54+ # paths:
55+ # - deployment
3956# when: manual
4057
58+ build_docker_image :
59+ stage : package
60+ image : docker:stable
61+ services :
62+ - docker:stable-dind
63+ before_script :
64+ - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
65+ script :
66+ - docker build --build-arg DOCKER_REGISTRY=${CI_REGISTRY_IMAGE} -t $DOCKER_IMAGE_NAME -f webapps/core/Dockerfile .
67+ - docker push $DOCKER_IMAGE_NAME
68+ after_script :
69+ - docker logout ${CI_REGISTRY_IMAGE}
70+
71+ deploy-dev-bsd-v1 :
72+ image : dtzar/helm-kubectl:3.11.0
73+ stage : deploy
74+ script :
75+ - cd webapps/core
76+ - sed -i "s|%DOCKER_IMAGE%|$DOCKER_IMAGE_NAME|g" core-deployment.yaml
77+ - kubectl config set-cluster bsd-cluster --server="${K8_HL_SERVER}"
78+ - kubectl config set clusters.bsd-cluster.certificate-authority-data ${K8_HL_CERTIFICATE_AUTHORITY_DATA}
79+ - kubectl config set-credentials bsd-user --token="${K8_HL_CREDENTIALS}"
80+ - kubectl config set-context bsd-context --cluster=bsd-cluster --user=bsd-user
81+ - kubectl config use-context bsd-context
82+ - kubectl apply -f core-deployment.yaml --namespace=biosamples-dev
83+ - kubectl apply -f core-service.yaml --namespace=biosamples-dev
84+ when : manual
85+
4186clone-config-dev :
4287 stage : config
4388 script :
@@ -127,7 +172,7 @@ deploy-production:
127172 parallel :
128173 matrix :
129174 - BSD_NODE_NAME : bsd_prod
130- BSD_HOST_NAME : [wp-p2m-40, wp-p2m-41, wp-p1m-40, wp-p1m-41]
175+ BSD_HOST_NAME : [ wp-p2m-40, wp-p2m-41, wp-p1m-40, wp-p1m-41 ]
131176 environment :
132177 name : prod-${BSD_HOST_NAME}
133178 url : http://${BSD_HOST_NAME}:8081/biosamples/
@@ -144,7 +189,7 @@ deploy-production-solr:
144189 parallel :
145190 matrix :
146191 - BSD_NODE_NAME : bsd_prod
147- BSD_SOLR_HOST_NAME : [wp-p1m-42, wp-p2m-42]
192+ BSD_SOLR_HOST_NAME : [ wp-p1m-42, wp-p2m-42 ]
148193 environment :
149194 name : prod-solr-${BSD_HOST_NAME}
150195 url : http://${BSD_SOLR_HOST_NAME}.ebi.ac.uk:8983/solr
0 commit comments