Page History
...
For hver komponent skal der ligeledes være en compose folder under roden af repository'et. Folderen skal indeholde en docker-compose fil, der udtaler sig om hvordan komponenten startes i testsammenhæng og een der udtaler sig om hvordan komponenten startes, når denne skal deployes i NSP miljøerne. Yderligere kan man som leverandør have stor fordel af at lave en development compose-fil, som kan anvendes i udviklingsammenhæng (med mulighed for at mappe stier til deployment af war-filer og specificere hvor dockerfiler findes til build øjemed).
Eksempler
Indhold i kode repository'et:
| Code Block |
|---|
main-src-folder
|
+-compose
| |
| +-test
| | |
| | +-docker-compose.yml
| |
| +-release
| | |
| | +-docker-compose.yml
| |
| +-devel (optional)
| | |
| | +-docker-compose.yml
| |
| +-application.properties
| |
| +-datasource-ds.xml
| |
| +-log4j.xml
| |
| +-other_configuration_files
|
+-Dockerfile (alternativt under modulerne)
|
+-Jenkinsfile
|
+-source_folders_and_files |
Indholdet af jenkinsfilen kan der ses et eksempel på her:
| Code Block | ||||
|---|---|---|---|---|
| ||||
#!groovy
node {
try {
stage('Checkout') {
checkout scm
}
stage('Build') {
//This will resolve to docker.image('registry.nspop.dk/platform/nspbuilder:jdk8').inside(){
docker.image("${NSPBUILDER}").inside(){
sh "mvn clean install"
}
}
stage ('Archive') {
//This will resolve to docker.build('registry.nspop.dk/components/ncc:build', '--pull .')
docker.build("${REGISTRYTAG}", '--pull .')
}
} catch (err) {
//slackSend channel: '<channelname>', color: 'bad', message: "${env.JOB_NAME} ${env.BUILD_NUMBER} - Build failed ... (<${env.BUILD_URL}|Open>)", tokenCredentialId: 'Slack-Token'
} finally {
stage ('Clean') {
deleteDir()
}
}
} |