403 lines
16 KiB
YAML
403 lines
16 KiB
YAML
jenkins:
|
|
Master:
|
|
HostName: jenkins.molgenis.org
|
|
ServiceType: ClusterIP
|
|
InstallPlugins:
|
|
- kubernetes:1.8.4
|
|
- workflow-aggregator:2.5
|
|
- workflow-job:2.21
|
|
- credentials-binding:1.16
|
|
- git:3.9.1
|
|
- github-branch-source:2.3.6
|
|
- kubernetes-credentials-provider:0.9
|
|
- blueocean:1.6.2
|
|
- github-oauth:0.29
|
|
- gogs-webhook:1.0.14
|
|
Security:
|
|
UseGitHub: false
|
|
GitHub:
|
|
ClientID: ""
|
|
ClienSecret: ""
|
|
DefaultView: dev
|
|
Views:
|
|
dev:
|
|
- molgenis
|
|
ops:
|
|
- molgenis-ops-docker-httpd
|
|
- molgenis-ops-docker-maven
|
|
Jobs: |-
|
|
molgenis: |-
|
|
<?xml version='1.1' encoding='UTF-8'?>
|
|
<jenkins.branch.OrganizationFolder plugin="branch-api@2.0.20">
|
|
<actions/>
|
|
<description></description>
|
|
<properties>
|
|
<org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
|
|
<dockerLabel></dockerLabel>
|
|
<registry plugin="docker-commons@1.13"/>
|
|
</org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
|
|
<jenkins.branch.NoTriggerOrganizationFolderProperty>
|
|
<branches>.*</branches>
|
|
</jenkins.branch.NoTriggerOrganizationFolderProperty>
|
|
</properties>
|
|
<folderViews class="jenkins.branch.OrganizationFolderViewHolder">
|
|
<owner reference="../.."/>
|
|
</folderViews>
|
|
<healthMetrics>
|
|
<com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
|
|
<nonRecursive>false</nonRecursive>
|
|
</com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
|
|
</healthMetrics>
|
|
<icon class="jenkins.branch.MetadataActionFolderIcon">
|
|
<owner class="jenkins.branch.OrganizationFolder" reference="../.."/>
|
|
</icon>
|
|
<orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
|
|
<pruneDeadBranches>true</pruneDeadBranches>
|
|
<daysToKeep>-1</daysToKeep>
|
|
<numToKeep>-1</numToKeep>
|
|
</orphanedItemStrategy>
|
|
<triggers>
|
|
<com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger plugin="cloudbees-folder@6.5.1">
|
|
<spec>H H * * *</spec>
|
|
<interval>86400000</interval>
|
|
</com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger>
|
|
</triggers>
|
|
<disabled>false</disabled>
|
|
<navigators>
|
|
<org.jenkinsci.plugins.github__branch__source.GitHubSCMNavigator plugin="github-branch-source@2.3.6">
|
|
<repoOwner>molgenis</repoOwner>
|
|
<credentialsId>molgenis-jenkins-github-secret</credentialsId>
|
|
<traits>
|
|
<org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait>
|
|
<strategyId>1</strategyId>
|
|
</org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait>
|
|
<org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait>
|
|
<strategyId>1</strategyId>
|
|
</org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait>
|
|
<org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait>
|
|
<strategyId>1</strategyId>
|
|
<trust class="org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait$TrustPermission"/>
|
|
</org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait>
|
|
</traits>
|
|
</org.jenkinsci.plugins.github__branch__source.GitHubSCMNavigator>
|
|
</navigators>
|
|
<projectFactories>
|
|
<org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProjectFactory plugin="workflow-multibranch@2.19">
|
|
<scriptPath>Jenkinsfile</scriptPath>
|
|
</org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProjectFactory>
|
|
</projectFactories>
|
|
<buildStrategies/>
|
|
</jenkins.branch.OrganizationFolder>
|
|
molgenis-ops-docker-httpd: |-
|
|
<?xml version='1.1' encoding='UTF-8'?>
|
|
<org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch@2.19">
|
|
<actions/>
|
|
<description>HTTPD server that can be used for redirection and proxieing</description>
|
|
<displayName>molgenis-ops-docker-httpd</displayName>
|
|
<properties>
|
|
<org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
|
|
<dockerLabel></dockerLabel>
|
|
<registry plugin="docker-commons@1.13"/>
|
|
</org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
|
|
</properties>
|
|
<folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api@2.0.20">
|
|
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
|
</folderViews>
|
|
<healthMetrics>
|
|
<com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
|
|
<nonRecursive>false</nonRecursive>
|
|
</com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
|
|
</healthMetrics>
|
|
<icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api@2.0.20">
|
|
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
|
</icon>
|
|
<orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
|
|
<pruneDeadBranches>true</pruneDeadBranches>
|
|
<daysToKeep>-1</daysToKeep>
|
|
<numToKeep>-1</numToKeep>
|
|
</orphanedItemStrategy>
|
|
<triggers/>
|
|
<disabled>false</disabled>
|
|
<sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api@2.0.20">
|
|
<data>
|
|
<jenkins.branch.BranchSource>
|
|
<source class="jenkins.plugins.git.GitSCMSource" plugin="git@3.9.1">
|
|
<id>a756941d-6c9d-4492-bcf9-327041764be6</id>
|
|
<remote>https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-httpd.git</remote>
|
|
<credentialsId>molgenis-jenkins-gogs-secret</credentialsId>
|
|
<traits>
|
|
<jenkins.plugins.git.traits.BranchDiscoveryTrait/>
|
|
</traits>
|
|
</source>
|
|
<strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
|
|
<properties class="empty-list"/>
|
|
</strategy>
|
|
</jenkins.branch.BranchSource>
|
|
</data>
|
|
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
|
</sources>
|
|
<factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
|
|
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
|
<scriptPath>Jenkinsfile</scriptPath>
|
|
</factory>
|
|
</org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
|
|
molgenis-ops-docker-maven: |-
|
|
<?xml version='1.1' encoding='UTF-8'?>
|
|
<org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch@2.19">
|
|
<actions/>
|
|
<description></description>
|
|
<properties>
|
|
<org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
|
|
<dockerLabel></dockerLabel>
|
|
<registry plugin="docker-commons@1.13"/>
|
|
</org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
|
|
</properties>
|
|
<folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api@2.0.20">
|
|
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
|
</folderViews>
|
|
<healthMetrics>
|
|
<com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
|
|
<nonRecursive>false</nonRecursive>
|
|
</com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
|
|
</healthMetrics>
|
|
<icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api@2.0.20">
|
|
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
|
</icon>
|
|
<orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
|
|
<pruneDeadBranches>true</pruneDeadBranches>
|
|
<daysToKeep>-1</daysToKeep>
|
|
<numToKeep>-1</numToKeep>
|
|
</orphanedItemStrategy>
|
|
<triggers/>
|
|
<disabled>false</disabled>
|
|
<sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api@2.0.20">
|
|
<data>
|
|
<jenkins.branch.BranchSource>
|
|
<source class="jenkins.plugins.git.GitSCMSource" plugin="git@3.9.1">
|
|
<id>4702479a-6988-4a85-b4b7-e77fa2d05ffa</id>
|
|
<remote>https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-maven.git</remote>
|
|
<credentialsId>molgenis-jenkins-gogs-secret</credentialsId>
|
|
<traits>
|
|
<jenkins.plugins.git.traits.BranchDiscoveryTrait/>
|
|
</traits>
|
|
</source>
|
|
<strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
|
|
<properties class="empty-list"/>
|
|
</strategy>
|
|
</jenkins.branch.BranchSource>
|
|
</data>
|
|
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
|
</sources>
|
|
<factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
|
|
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
|
<scriptPath>Jenkinsfile</scriptPath>
|
|
</factory>
|
|
</org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
|
|
# Kubernetes secret that contains a 'credentials.xml' for Jenkins
|
|
# CredentialsXmlSecret: jenkins-credentials
|
|
# Kubernetes secret that contains files to be put in the Jenkins 'secrets' directory,
|
|
# useful to manage encryption keys used for credentials.xml for instance (such as
|
|
# master.key and hudson.util.Secret)
|
|
# SecretsFilesSecret: jenkins-secrets
|
|
CustomConfigMap: true
|
|
rbac:
|
|
install: true
|
|
Pods:
|
|
molgenis:
|
|
Label: molgenis
|
|
NodeUsageMode: NORMAL
|
|
volumes:
|
|
- type: HostPath
|
|
hostPath: "/var/run/docker.sock"
|
|
mountPath: "/var/run/docker.sock"
|
|
- type: Secret
|
|
secretName: molgenis-pipeline-file-secret
|
|
mountPath: "/root/.m2"
|
|
Containers:
|
|
maven:
|
|
Image: "registry.webhosting.rug.nl/molgenis/maven"
|
|
Command: cat
|
|
WorkingDir: /home/jenkins
|
|
TTY: true
|
|
resources:
|
|
requests:
|
|
cpu: "1"
|
|
memory: "4Gi"
|
|
alpine:
|
|
Image: "spotify/alpine"
|
|
Command: cat
|
|
WorkingDir: /home/jenkins
|
|
TTY: true
|
|
EnvVars:
|
|
- type: Secret
|
|
key: PGP_PASSPHRASE
|
|
secretName: molgenis-pipeline-env-secret
|
|
secretKey: pgpPassphrase
|
|
- type: KeyValue
|
|
key: PGP_SECRETKEY
|
|
value: "keyfile:/root/.m2/key.asc"
|
|
- type: KeyValue
|
|
key: npm_config_registry
|
|
value: "http://nexus.molgenis-nexus:8081/repository/npm-central/"
|
|
- type: Secret
|
|
key: SONAR_TOKEN
|
|
secretName: molgenis-pipeline-env-secret
|
|
secretKey: sonarToken
|
|
- type: Secret
|
|
key: CODECOV_TOKEN
|
|
secretName: molgenis-pipeline-env-secret
|
|
secretKey: codecovToken
|
|
- type: Secret
|
|
key: GITHUB_TOKEN
|
|
secretName: molgenis-pipeline-env-secret
|
|
secretKey: githubToken
|
|
NodeSelector: {}
|
|
node:
|
|
Label: node-carbon
|
|
NodeUsageMode: EXCLUSIVE
|
|
Containers:
|
|
node:
|
|
Image: "node"
|
|
ImageTag: carbon
|
|
Command: cat
|
|
WorkingDir: /home/jenkins
|
|
TTY: true
|
|
alpine:
|
|
Image: "spotify/alpine"
|
|
Command: cat
|
|
WorkingDir: /home/jenkins
|
|
TTY: true
|
|
EnvVars:
|
|
- type: KeyValue
|
|
key: npm_config_registry
|
|
value: "http://nexus.molgenis-nexus:8081/repository/npm-central/"
|
|
- type: Secret
|
|
key: CODECOV_TOKEN
|
|
secretName: molgenis-pipeline-env-secret
|
|
secretKey: codecovToken
|
|
- type: Secret
|
|
key: GITHUB_TOKEN
|
|
secretName: molgenis-pipeline-env-secret
|
|
secretKey: githubToken
|
|
NodeSelector: {}
|
|
molgenis-it:
|
|
InheritFrom: molgenis
|
|
Label: molgenis-it
|
|
NodeUsageMode: EXCLUSIVE
|
|
Containers:
|
|
elasticsearch:
|
|
Image: docker.elastic.co/elasticsearch/elasticsearch
|
|
ImageTag: 5.5.3
|
|
resources:
|
|
requests:
|
|
cpu: "100m"
|
|
memory: "1Gi"
|
|
limits:
|
|
cpu: "1"
|
|
memory: "1500Mi"
|
|
EnvVars:
|
|
- type: KeyValue
|
|
key: ES_JAVA_OPTS
|
|
value: "-Xms512m -Xmx512m"
|
|
- type: KeyValue
|
|
key: cluster.name
|
|
value: molgenis
|
|
- type: KeyValue
|
|
key: bootstrap.memory_lock
|
|
value: "true"
|
|
- type: KeyValue
|
|
key: xpack.security.enabled
|
|
value: "false"
|
|
- type: KeyValue
|
|
key: discovery.type
|
|
value: single-node
|
|
postgres:
|
|
Image: postgres
|
|
ImageTag: 9.6-alpine
|
|
resources:
|
|
requests:
|
|
cpu: "100m"
|
|
memory: "250Mi"
|
|
limits:
|
|
cpu: "1"
|
|
memory: "250Mi"
|
|
EnvVars:
|
|
- type: KeyValue
|
|
key: POSTGRES_USER
|
|
value: molgenis
|
|
- type: KeyValue
|
|
key: POSTGRES_PASSWORD
|
|
value: molgenis
|
|
- type: KeyValue
|
|
key: POSTGRES_DB
|
|
value: molgenis
|
|
opencpu:
|
|
Image: molgenis/opencpu
|
|
AlwaysPullImage: true
|
|
resources:
|
|
requests:
|
|
cpu: "100m"
|
|
memory: "256Mi"
|
|
limits:
|
|
cpu: "1"
|
|
memory: "512Mi"
|
|
NodeSelector: {}
|
|
PipelineSecrets:
|
|
Env:
|
|
# Set to false to keep existing secret
|
|
Replace: true
|
|
# Passphrase for the pgp private key file, prefixed with literal:
|
|
PGPPassphrase: literal:xxxx
|
|
# Token for codecov.io service
|
|
CodecovToken: xxxx
|
|
# Token for github bot account
|
|
GitHubToken: xxxx
|
|
# Token for github bot account
|
|
GogsToken: xxxx
|
|
# Token for sonarcloud.io
|
|
SonarToken: xxxx
|
|
# Password Local NEXUS
|
|
NexusPassword: xxxx
|
|
# Password hub.docker.com
|
|
DockerHubPassword: xxxx
|
|
File:
|
|
# Set to false to keep existing secret
|
|
Replace: true
|
|
# PGP Private key in ascii format used to sign artifacts
|
|
PGPPrivateKeyAsc: |-
|
|
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
|
xxxxx
|
|
-----END PGP PRIVATE KEY BLOCK-----
|
|
# maven.settings file
|
|
MavenSettingsXML: |-
|
|
<settings>
|
|
<localRepository>${user.home}/.mvnrepository</localRepository>
|
|
<interactiveMode>false</interactiveMode>
|
|
<mirrors>
|
|
<mirror>
|
|
<id>nexus</id>
|
|
<mirrorOf>external:*</mirrorOf>
|
|
<url>http://nexus.molgenis-nexus:8081/repository/maven-central/</url>
|
|
</mirror>
|
|
</mirrors>
|
|
<servers>
|
|
<!-- for snapshot builds of the master -->
|
|
<server>
|
|
<id>sonatype-nexus-staging</id>
|
|
<username>molgenis</username>
|
|
<password>xxxx</password>
|
|
</server>
|
|
<server>
|
|
<id>local-nexus</id>
|
|
<url>http://nexus.molgenis-nexus:8081/repository/maven-snapshots/</url>
|
|
<username>admin</username>
|
|
<password>xxxxx</password>
|
|
</server>
|
|
<!-- for docker images-->
|
|
<server>
|
|
<id>registry.molgenis.org</id>
|
|
<username>admin</username>
|
|
<password>xxxx</password>
|
|
</server>
|
|
</servers>
|
|
</settings> |