Skip to content

Commit

Permalink
Updated build to use registry.oa.eu
Browse files Browse the repository at this point in the history
  • Loading branch information
fmichielssen committed Mar 24, 2023
1 parent 6eba068 commit 03f5e9c
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 66 deletions.
67 changes: 26 additions & 41 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ pipeline {
buildDiscarder(logRotator(numToKeepStr: '3'))
}

environment {
REPO_PREFIX = "196229073436.dkr.ecr.eu-west-1.amazonaws.com/openanalytics/"
ACCOUNTID = "196229073436"
}
stages {

stage('Load maven cache repository from S3') {
Expand All @@ -33,8 +29,9 @@ pipeline {
env.GROUP_ID = sh(returnStdout: true, script: "mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.groupId -q -DforceStdout").trim()
env.ARTIFACT_ID = sh(returnStdout: true, script: "mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.artifactId -q -DforceStdout").trim()
env.VERSION = sh(returnStdout: true, script: "mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout").trim()
env.REPO = "openanalytics/${env.ARTIFACT_ID}"
env.REGISTRY = "registry.openanalytics.eu"
env.MVN_ARGS = "-Dmaven.repo.local=/home/jenkins/maven-repository --batch-mode"
env.MVN_EXLCUDE_PARENT = ""
}
}

Expand All @@ -43,73 +40,50 @@ pipeline {
stage('Build') {
steps {
container('builder') {

configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {

sh "mvn -s \$MAVEN_SETTINGS_RSB -U clean install -DskipTests -Ddocker.skip ${env.MVN_ARGS}"

sh "mvn -s \$MAVEN_SETTINGS_RSB -U clean install -DskipTests -Ddocker.skip ${env.MVN_ARGS} ${env.MVN_EXLCUDE_PARENT}"
}

}
}
}

stage('Test') {
steps {
container('builder') {

configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {

sh "mvn -s \$MAVEN_SETTINGS_RSB test -Ddocker.skip ${env.MVN_ARGS}"

}

withDockerRegistry([credentialsId: "oa-sa-jenkins-registry", url: "https://registry.openanalytics.eu"]) {
configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {
sh "mvn -s \$MAVEN_SETTINGS_RSB test ${env.MVN_ARGS} ${env.MVN_EXLCUDE_PARENT}"
}
}
}
}
}

stage("Deploy to Nexus") {
steps {
container('builder') {

configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {

sh "mvn -s \$MAVEN_SETTINGS_RSB deploy -DskipTests -Ddocker.skip ${env.MVN_ARGS}"

sh "mvn -s \$MAVEN_SETTINGS_RSB deploy -DskipTests -Ddocker.skip ${env.MVN_ARGS} ${env.MVN_EXLCUDE_PARENT}"
}

}
}
}

stage('Build Docker image') {
steps {
dir('server') {
container('builder') {

configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {

sh "mvn -s \$MAVEN_SETTINGS_RSB docker:build -Ddocker.repoPrefix=${env.REPO_PREFIX} ${env.MVN_ARGS}"

}

container('builder') {
configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {
sh "mvn -s \$MAVEN_SETTINGS_RSB io.fabric8:docker-maven-plugin:build ${env.MVN_ARGS}"
}
}
}
}

stage('Push to OA registry') {
steps {
dir('server') {
container('builder') {
sh "aws --region eu-west-1 ecr describe-repositories --repository-names ${env.REPO} || aws --region eu-west-1 ecr create-repository --repository-name ${env.REPO}"
sh "aws --region eu-west-1 ecr describe-repositories --repository-names ${env.REPO}.liquibase || aws --region eu-west-1 ecr create-repository --repository-name ${env.REPO}.liquibase"
sh "\$(aws ecr get-login --registry-ids '${env.ACCOUNTID}' --region 'eu-west-1' --no-include-email)"

configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {

sh "mvn -s \$MAVEN_SETTINGS_RSB docker:push -Ddocker.repoPrefix=${env.REPO_PREFIX} ${env.MVN_ARGS}"
}
container('builder') {
configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {
sh "mvn -s \$MAVEN_SETTINGS_RSB io.fabric8:docker-maven-plugin:push -Ddocker.push.registry=${REGISTRY} ${env.MVN_ARGS}"
}
}
}
Expand All @@ -126,4 +100,15 @@ pipeline {
}
}

post {
success {
step([$class: 'JacocoPublisher',
execPattern: '**/target/jacoco.exec',
classPattern: '**/target/classes',
sourcePattern: '**/src/main/java',
exclusionPattern: '**/src/test*'
])
}
}

}
7 changes: 3 additions & 4 deletions kubernetesPod.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
apiVersion: v1
kind: Pod
metadata:
name: phaedra2-service
name: phaedra2-builder
labels:
ci: phaedra2-service-build
ci: phaedra2-builder
spec:
containers:
- name: builder
Expand All @@ -18,5 +18,4 @@ spec:
limits:
ephemeral-storage: "16Gi"
memory: "2Gi"
cpu: "1.0"

cpu: "1.0"
4 changes: 2 additions & 2 deletions server/Dockerfile.app
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
FROM registry.openanalytics.eu/library/openjdk:16-jdk-slim-buster

ARG JAR_FILE
ADD $JAR_FILE /opt/phaedra/app.jar
ADD $JAR_FILE /opt/phaedra/service.jar

ENV USER phaedra
RUN useradd -c 'phaedra user' -m -d /home/$USER -s /bin/nologin $USER
WORKDIR /opt/phaedra
USER $USER

CMD ["java", "-jar", "/opt/phaedra/app.jar", "--spring.jmx.enabled=false"]
CMD ["java", "-jar", "/opt/phaedra/service.jar", "--spring.jmx.enabled=false"]
39 changes: 20 additions & 19 deletions server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@
<name>phaedra2-pipelineservice-server</name>

<properties>
<docker.repoPrefix/>
<docker.imageName>${project.parent.artifactId}</docker.imageName>
</properties>
<java.version>16</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<docker.imageName>openanalytics/${project.parent.artifactId}</docker.imageName>
</properties>

<dependencies>
<!-- Phaedra dependencies -->
Expand Down Expand Up @@ -52,16 +54,15 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- Allows building a Docker image -->
<plugin>
<groupId>io.fabric8</groupId>

<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.37.0</version>
<configuration>
<verbose>true</verbose>
<images>
<image>
<name>${docker.repoPrefix}${docker.imageName}</name>
<name>${docker.imageName}</name>
<build>
<dockerFile>${project.basedir}/Dockerfile.app</dockerFile>
<tags>
Expand All @@ -72,27 +73,27 @@
</args>
</build>
</image>
<image>
<name>${docker.repoPrefix}${docker.imageName}.liquibase</name>
<build>
<dockerFile>${project.basedir}/Dockerfile.db</dockerFile>
<tags>
<tag>${project.version}</tag>
</tags>
</build>
</image>
<image>
<name>${docker.imageName}.liquibase</name>
<build>
<dockerFile>${project.basedir}/Dockerfile.db</dockerFile>
<tags>
<tag>${project.version}</tag>
</tags>
</build>
</image>
</images>
</configuration>
<executions>
<execution>
<id>default</id>
<phase>install</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugin>

</plugins>
</build>

Expand Down

0 comments on commit 03f5e9c

Please sign in to comment.