-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathjenkins.yaml.ejs
105 lines (105 loc) · 3.04 KB
/
jenkins.yaml.ejs
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
jenkins:
numExecutors: 0
slaveAgentPort: 50000
systemMessage: Unity build pipeline
agentProtocols:
- JNLP4-connect
authorizationStrategy:
loggedInUsersCanDoAnything:
allowAnonymousRead: false
securityRealm:
local:
allowsSignup: false
users:
- id: admin
password: passw0rd
globalNodeProperties:
- envVars:
env:
<% env.forEach(e => {
%><%-
[
` - key: ${e}`,
` value: \${${e}}`,
].join('\n') + '\n' %><%});%>
nodes:
<% macAgents.forEach(agent => {
%><%-
[
` - permanent:`,
` labelString: mac`,
` mode: EXCLUSIVE`,
` name: '${agent.name}'`,
` numExecutors: 1`,
` remoteFS: '/Users/ec2-user/jenkins'`,
` launcher:`,
` ssh:`,
` host: \${${agent.macHostEnv}}`,
` port: 22`,
` credentialsId: ${agent.sshCredentialsId}`,
` launchTimeoutSeconds: 60`,
` maxNumRetries: 10`,
` retryWaitTime: 15`,
` sshHostKeyVerificationStrategy: nonVerifyingKeyVerificationStrategy`,
].join('\n') + '\n' %><%});%>
clouds:
<% ec2FleetAgents.forEach(agent => {
%><%-
[
` - eC2Fleet:`,
` addNodeOnlyIfRunning: false`,
` alwaysReconnect: true`,
` cloudStatusIntervalSec: 60`,
` computerConnector:`,
` sSHConnector:`,
` port: 22`,
` credentialsId: ${agent.sshCredentialsId}`,
` launchTimeoutSeconds: ${agent.sshConnectTimeoutSeconds}`,
` maxNumRetries: ${agent.sshConnectMaxNumRetries}`,
` retryWaitTime: ${agent.sshConnectRetryWaitTime}`,
` sshHostKeyVerificationStrategy: nonVerifyingKeyVerificationStrategy`,
` jvmOptions: '${agent.jvmOptions}'`,
` prefixStartSlaveCmd: '${agent.prefixStartSlaveCmd}'`,
` suffixStartSlaveCmd: '${agent.suffixStartSlaveCmd}'`,
` disableTaskResubmit: false`,
` fleet: \${${agent.fleetAsgNameEnv}}`,
` fsRoot: ${agent.fsRoot}`,
` idleMinutes: 5`,
` initOnlineCheckIntervalSec: 60`,
` initOnlineTimeoutSec: 60`,
` labelString: '${agent.label}'`,
` maxSize: ${agent.fleetMaxSize}`,
` maxTotalUses: -1`,
` minSize: ${agent.fleetMinSize}`,
` minSpareSize: 0`,
` name: '${agent.name}'`,
` noDelayProvision: false`,
` numExecutors: ${agent.numExecutors}`,
` privateIpUsed: true`,
` region: \${AWS_REGION}`,
` restrictUsage: false`,
` scaleExecutorsByWeight: false`,
].join('\n') + '\n' %><%});%>
aws:
s3:
container: ${ARTIFACT_BUCKET_NAME}
disableSessionToken: false
prefix: 'artifacts/'
useHttp: false
usePathStyleUrl: false
useTransferAcceleration: false
unclassified:
location:
url: ${JENKINS_URL}
adminAddress: '[email protected]'
artifactManager:
artifactManagerFactories:
- jclouds:
provider: 's3'
globalItemStorage:
storage:
s3:
bucketName: ${ARTIFACT_BUCKET_NAME}
region: ${AWS_REGION}
timestamper:
allPipelines: true