forked from project-ncl/bacon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
example-pig-config.yaml
107 lines (96 loc) · 4.75 KB
/
example-pig-config.yaml
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
###############################################################################
# Variable definition in the format :
# #!<variableName>=<value>
#
# Variables can be used anywhere in the YAML file in the format :
# {{variableName}}
#
# example :
#
#!version=7.1.0
#!milestone=DR1
###############################################################################
###############################################################################
# Product section
###############################################################################
product:
name: ProductA # full product name
abbreviation: test # official product name abbreviation - used to create the brew/koji tag name
productManagers: managers # Managers of product
productPagesCode: code # Code for product pages
stage: Alpha1 # product phase, if we're targetting GA, should be GA, etc
issueTrackerUrl: http://issues.jboss.org/browse/TEST
version: {{version}}
###############################################################################
# version of the product, PNC will use <major>.<minor> (in this case 7.1) as the product version
# and prepend the <micro> to the milestone name
#
# Example values are DR1, ER2, CR1
#
# It is also possible to use have an auto-incremented milestone number.
# To achieve it, use an asterisk in the place of milestone number, e.g. ER*
# The auto-incremented milestone requires -releaseStorageUrl option
###############################################################################
milestone: {{milestone}}
group: ProductA 7.1 all # name of the PNC build group
###############################################################################
# build configurations. If there are some properties that are shared among most of the configurations
# they can be defined in defaultBuildParameters. For a complete list of available properties, take a look at BuildConfig class.
###############################################################################
defaultBuildParameters:
project: my-project # name of the project to assign the configuration to
environmentId: 1 # PNC environment ID. You can list available environments with `bacon pnc environment list`
buildScript: mvn clean deploy -DskipTests -B
builds:
- name: my-app-a-7.1
buildScript: mvn -Dswarm.product.build -DskipTests clean deploy -Plicenses # overriden build script
scmUrl: git+ssh://<internal url>/my-project/my-app-a.git
scmRevision: 7.1.x
dependencies:
- my-app-b-7.1
- name: my-app-b-7.1
project: my-other-project
scmUrl: git+ssh://<internal url>/productization/github.com/my-app-b.git
scmRevision: branch-1.2.1_config-1.2.0
buildCategory: STANDARD # STANDARD/SERVICE . defaults to STANDARD, build parameter for managed services builds
###############################################################################
# after the builds are done, the deliverables are prepared.
# the following sections configure deliverables preparation
###############################################################################
outputPrefixes:
releaseFile: product-a # prefix for the deliverables. Version and milestone will be appended to it
releaseDir: product-a # prefix for a top level directory name inside the deliverables
flow:
licensesGeneration:
strategy: GENERATE
repositoryGeneration:
strategy: DOWNLOAD # it's also possible to generate them, see below for an examlpe config
# an artifact which filename matches .*maven-repository\.zip produced by my-app-a-7.1 build will be used as a base
# of the repository generation
sourceBuild: my-app-a-7.1
sourceArtifact: '.*maven-repository\.zip'
# Add artifacts from given builds to the repository zip
# The expression is matched against the PNC identifier for the file.
additionalArtifacts:
- from: 'my-app-a-7.1'
download:
- '^my.groupId:my-artifact-id:jar:7.1.0.redhat-\d\d:sources'
- from: 'my-app-b-7.1'
download:
- 'org.eclipse.aether:aether-util:jar:1.0.0.v20140518-redhat-\d\d:sources'
# add artifacts from outside the current builds to the repository zip.
# Note this section requires exact groupId:artifactId:packaging:version or groupId:artifactId:packaging:version:classifier
externalAdditionalArtifacts:
- 'org.jboss.eap:wildfly-ejb-client-bom:pom:7.1.1.GA-redhat-2'
javadocGeneration:
strategy: DOWNLOAD # another option is IGNORE
sourceBuild: 'my-app-a-7.1'
sourceArtifact: '.*javadoc\.zip'
###############################################################################
# a place to define product-specific add-ons.
# Add ons have to extend AddOn and be registered in AddOnFactory.
###############################################################################
addons:
addOnName:
addOnConfigProperty:
add on configuration