Page History
...
| sub-folder | indhold | krav | note |
|---|---|---|---|
| configuration | konfigurationsfiler der forventes at være så tilpas dynamiske, at disse skal ændres pr. driftsmiljø | ja | filerne indeholdt i folderen forventes at defaulte til testopsætning. Det er således forventningen at disse er funktionsdygtige ved afvikling af docker-compose.yml filen under test (og evt. development) sub-folderen. Konfigurationsfilerne herunder må ikke samtidig være bygget ind i docker-imaget for komponenten. Disse volume mappes ind via docker-compose. |
| database | sql-filer | ja - hvis der anvendes db i enten test eller prod | filerne prefikses med timestamp. Det er forventningen at disse vol. mappes ind i en db-container til testsammenhæng og i øvrigt er beskrevet i installationsvejledningen ifht. hvilke evt. skal afvikles for at idriftsættelse af komponenten er mulig (oprettelse af db osv.). Der skal også være beskrevet hvilke filer der udelukkende er til test |
| test | 1 stk. docker-compose.yml | ja | docker-compose fil, der kan launche komponenten og dennes afhængigheder. Mock services, database osv skal startes i denne compose fil, yderligere kan man opsætte portmapning osv. Filen skal kunne afvikles med "docker-compose up" og det er forventningen at leverandørens integrationstest kan afvikles imod dette setup. Kodebasen indeholder således en opskrift til at startet komponenten lokalt, blot ved at hente compose-folderen med indhold. Konfigurationsfiler vol. mappes ind. Mock-services bør i udgangspunktet også overholde husreglerne. |
| release | 1 stk. docker-compose.yml | ja | docker-compose fil, der udelukkende indeholder volume mapning af de enkelte konfigurationsfiler fra configuration sub-folderen og så har de korrekte image angiverser for de enkelte services. Denne compose-fil bliver i byggemiljøet beriget og bliver basis for den Jinja2 template der kan idriftsætte komponenten i de forskellige miljøer. Der skal således ingen portmapning, netværk, log-vol.mapning el. lign. være i denne compose-fil. |
| development | 1 stk. docker-compose.yml | nej | dev specifik docker-compose fil, som kan have vol. mapping til target foldere/log foldere osv. |
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
#!groovy
node {
try {
stage('Checkout') {
checkout scm
}
stage('Build') {
//This will resolve to docker.image('"registry.nspop.dk/platformtools/nspbuilder:jdk8').inside(){
docker.image("${NSPBUILDER_TAG}").inside(){
sh "mvn -B clean install"
}
}
stage ('Archive') {
//This will resolve to docker.build('"registry.nspop.dk/components/ncc:${DOCKERTAG}', '--pull .')
docker.build("${REGISTRYTAGDOCKERTAG}", '--pull --build-arg BASE_TAG=${NSP_BASE_TAG} .')
}
} catch (err) {
//slackSend channel: '<channelname>', color: 'bad', message: "${env.JOB_NAME} ${env.BUILD_NUMBER} - Build failed ... (<${env.BUILD_URL}|Open>)", tokenCredentialId: 'Slack-Token'
throw err
} finally {
stage ('Clean') {
deleteDir()
}
}
} |
...
| Code Block | ||
|---|---|---|
| ||
ARG BASE_TAG=latest FROM registry.nspop.dk/platform/nsp:1${BASE_TAG} # Copy configuration files to the module directory RUN mkdir -p /pack/wildfly8wildfly/modules/dk/sds/nsp/examples/ncc/main/ COPY etc/module.xml /pack/wildfly8wildfly/modules/dk/sds/nsp/examples/ncc/main/ # Copy the war file to the deployment directory COPY target/ncc.war /pack/wildfly8wildfly/standalone/deployments/ |
compose-filer
...
| Code Block | ||
|---|---|---|
| ||
version: "3.6"
networks:
nsp_net:
external: true
ncc_net:
external: false
services:
cradb:
image: registry.nspop.dk/playground/cradb:latest
networks:
- ncc_net
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
nccdb:
image: mariadb:latest
networks:
- ncc_net
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
volumes:
- ../database/01_create_db.sql:/docker-entrypoint-initdb.d/01_create_db.sql
ncc:
image: registry.nspop.dk/components/ncc:1.0.9
ports:
- "8080"
depends_on:
- cradb
- nccdb
networks:
- nsp_net
- ncc_net
environment:
- LOG_MAX_FILE_SIZE=10MB
- LOG_MAX_BACKUP_INDEX=5
volumes:
- ../configuration/ncc.properties:/pack/wildfly8wildfly/modules/dk/sds/nsp/examples/ncc/main/ncc.properties
- ../configuration/log4j-ncc.xml:/pack/wildfly8wildfly/modules/dk/sds/nsp/examples/ncc/main/log4j-ncc.xml
- ../configuration/ncc-ds.xml:/pack/wildfly8wildfly/standalone/deployments/ncc-ds.xml
|
...
| Code Block | ||
|---|---|---|
| ||
version: "3.6"
services:
ncc:
image: registry.nspop.dk/components/ncc:snapshot
volumes:
- ../configuration/ncc.properties:/pack/wildfly8wildfly/modules/dk/sds/nsp/examples/ncc/main/ncc.properties
- ../configuration/log4j-ncc.xml:/pack/wildfly8wildfly/modules/dk/sds/nsp/examples/ncc/main/log4j-ncc.xml
- ../configuration/ncc-ds.xml:/pack/wildfly8wildfly/standalone/deployments/ncc-ds.xml
|
...
| Code Block | ||
|---|---|---|
| ||
version: '3.6'
services:
ncc:
image: registry.nspop.dk/components/ncc:1.0.9
volumes:
- ../configuration/ncc.properties:/pack/wildfly8wildfly/modules/dk/sds/nsp/examples/ncc/main/ncc.properties
- ../configuration/log4j-ncc.xml:/pack/wildfly8wildfly/modules/dk/sds/nsp/examples/ncc/main/log4j-ncc.xml
- ../configuration/ncc-ds.xml:/pack/wildfly8wildfly/standalone/deployments/ncc-ds.xml
- /pack/log/ncc:/pack/wildfly8wildfly/standalone/log
container_name: '{{ comp_ncc_container_name }}'
restart: unless-stopped
ports:
- '{{ comp_ncc_port }}:8080'
environment:
- LOG_MAX_FILE_SIZE=10MB
- LOG_MAX_BACKUP_INDEX=5
- CRA_SERVER={{ comp_ncc_cra_dbserver }}
- CRA_USER={{ comp_ncc_cra_dbuser }}
- CRA_PWD={{ comp_ncc_cra_dbpassword }}
|
...