-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathJenkinsfile
41 lines (32 loc) · 1.06 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env groovy
library 'devops-tools-jenkins'
def dockerRegistry = libraryResource('dockerregistry').trim()
def dockerImage = "${dockerRegistry}/bbc-news/elixir-centos7:1.14.3"
library 'BBCNews'
def cosmosServices = [
'origin-simulator',
'origin-simulator-data-pres',
'origin-simulator-fabl'
]
node {
cleanWs()
checkout scm
properties([
disableConcurrentBuilds(),
parameters([
booleanParam(defaultValue: false, description: 'Force release from non-master branch', name: 'FORCE_RELEASE')
])
])
stage('Build executable') {
docker.image(dockerImage).inside('-u root -e MIX_ENV=prod -e PORT=8080') {
sh 'mix deps.get'
sh 'mix distillery.release'
}
sh 'cp _build/prod/rel/origin_simulator/releases/*/origin_simulator.tar.gz SOURCES/'
}
BBCNews.buildRPMWithMock(cosmosServices.first(), 'origin-simulator.spec', params.FORCE_RELEASE)
cosmosServices.each { service ->
BBCNews.setRepositories(service, 'repositories.json')
BBCNews.cosmosRelease(service, 'RPMS/*.x86_64.rpm', params.FORCE_RELEASE)
}
}