Skip to content

Commit c63b418

Browse files
authored
Add rpm build (#188)
* Add rpm build * Update azure-pipelines-linux.yml for Azure Pipelines * Update azure-pipelines-linux.yml for Azure Pipelines * Update azure-pipelines-linux.yml for Azure Pipelines * Update azure-pipelines-linux.yml for Azure Pipelines * Update azure-pipelines-linux.yml for Azure Pipelines * Update azure-pipelines-linux.yml for Azure Pipelines * Update azure-pipelines-linux.yml for Azure Pipelines * Update azure-pipelines-linux.yml for Azure Pipelines * remove strip * Update azure-pipelines-linux.yml for Azure Pipelines * test * save * Update azure-pipelines-linux.yml for Azure Pipelines * test * doc * Update azure-pipelines-linux.yml for Azure Pipelines
1 parent 052df04 commit c63b418

File tree

5 files changed

+447
-10
lines changed

5 files changed

+447
-10
lines changed

.pipelines/azure-pipelines-linux.yml

Lines changed: 303 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ variables:
2020
ROOT: $(Build.SourcesDirectory)
2121
CDP_DEFINITION_BUILD_COUNT: $[counter('', 0)] # needed for onebranch.pipeline.version task https://aka.ms/obpipelines/versioning
2222
ENABLE_PRS_DELAYSIGN: 1
23-
GitVersion.SemVer: ''
2423

2524
stages:
2625
- stage: BuildPackage
@@ -50,23 +49,33 @@ stages:
5049
- script: $(Build.SourcesDirectory)/build.sh $(VcVersion) --build-all
5150
displayName: 'Build Solutions'
5251

53-
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-deb-linux-x64.sh $(VcVersion)
54-
displayName: 'Build deb package for linux x64'
52+
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-rpm-linux-arm64.sh $(VcVersion)
53+
displayName: 'Build rpm package for linux arm64'
54+
55+
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-rpm-linux-x64.sh $(VcVersion)
56+
displayName: 'Build rpm package for linux x64'
5557

5658
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-deb-linux-arm64.sh $(VcVersion)
5759
displayName: 'Build deb package for linux arm64'
60+
61+
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-deb-linux-x64.sh $(VcVersion)
62+
displayName: 'Build deb package for linux x64'
63+
5864

5965
- task: CopyFiles@2
6066
inputs:
6167
SourceFolder: '$(Build.SourcesDirectory)/out/packages'
62-
Contents: '*.deb'
68+
flattenFolders: true
69+
Contents: |
70+
*.deb
71+
**/RPMS/**/*.rpm
6372
TargetFolder: '$(Build.ArtifactStagingDirectory)'
6473

6574
- task: EsrpCodeSigning@1
6675
inputs:
6776
ConnectedServiceName: 'virtualclient-esrp'
6877
FolderPath: '$(Build.ArtifactStagingDirectory)'
69-
Pattern: '*.deb'
78+
Pattern: '*.deb,*.rpm'
7079
signConfigType: 'inlineSignParams'
7180
inlineOperation: |
7281
[
@@ -87,6 +96,293 @@ stages:
8796
pathToPublish: '$(Build.ArtifactStagingDirectory)'
8897
artifactName: drop
8998

99+
- job: PublishRpmPackage
100+
timeoutInMinutes: 180
101+
dependsOn: BuildPackage
102+
pool:
103+
vmImage: 'ubuntu-latest'
104+
container: pmc-cli
105+
106+
steps:
107+
- task: PipAuthenticate@1
108+
inputs:
109+
artifactFeeds: 'CRC-Dev'
110+
- script: pip install pmc-cli
111+
112+
- download: current
113+
artifact: drop
114+
115+
- task: CopyFiles@2
116+
inputs:
117+
SourceFolder: '$(Agent.BuildDirectory)/drop/'
118+
Contents: '*.rpm'
119+
TargetFolder: '$(Agent.BuildDirectory)/drop/rpmpackages'
120+
121+
- task: AzureKeyVault@2
122+
inputs:
123+
ConnectedServiceName: 'VirtualClient-AzureRM-AME'
124+
KeyVaultName: 'junoprod01vault01'
125+
SecretsFilter: 'virtualclient'
126+
RunAsPreJob: true
127+
128+
# Amazon Linux
129+
- task: PublishLinuxPackagesPMC@0
130+
displayName: 'Amazon Linux 2023 rpm publish'
131+
inputs:
132+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
133+
msal_SNIAuth: 'msal-sniauth'
134+
msal_cert: $(virtualclient)
135+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
136+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
137+
repository: 'microsoft-amazonlinux2023-prod-yum'
138+
139+
- task: PublishLinuxPackagesPMC@0
140+
displayName: 'Amazon Linux 2 rpm publish'
141+
inputs:
142+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
143+
msal_SNIAuth: 'msal-sniauth'
144+
msal_cert: $(virtualclient)
145+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
146+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
147+
repository: 'microsoft-amazonlinux2-prod-yum'
148+
149+
# Centos
150+
- task: PublishLinuxPackagesPMC@0
151+
displayName: 'CentOS 7 rpm publish'
152+
inputs:
153+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
154+
msal_SNIAuth: 'msal-sniauth'
155+
msal_cert: $(virtualclient)
156+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
157+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
158+
repository: 'microsoft-centos7-prod-yum'
159+
160+
- task: PublishLinuxPackagesPMC@0
161+
displayName: 'CentOS 6 rpm publish'
162+
inputs:
163+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
164+
msal_SNIAuth: 'msal-sniauth'
165+
msal_cert: $(virtualclient)
166+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
167+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
168+
repository: 'microsoft-centos6-prod-yum'
169+
170+
# Fedora
171+
- task: PublishLinuxPackagesPMC@0
172+
displayName: 'Fedora 39 rpm publish'
173+
inputs:
174+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
175+
msal_SNIAuth: 'msal-sniauth'
176+
msal_cert: $(virtualclient)
177+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
178+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
179+
repository: 'microsoft-fedora39-prod-yum'
180+
181+
- task: PublishLinuxPackagesPMC@0
182+
displayName: 'Fedora 38 rpm publish'
183+
inputs:
184+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
185+
msal_SNIAuth: 'msal-sniauth'
186+
msal_cert: $(virtualclient)
187+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
188+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
189+
repository: 'microsoft-fedora38-prod-yum'
190+
191+
- task: PublishLinuxPackagesPMC@0
192+
displayName: 'Fedora 37 rpm publish'
193+
inputs:
194+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
195+
msal_SNIAuth: 'msal-sniauth'
196+
msal_cert: $(virtualclient)
197+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
198+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
199+
repository: 'microsoft-fedora37-prod-yum'
200+
201+
# OpenSUSE
202+
- task: PublishLinuxPackagesPMC@0
203+
displayName: 'OpenSUSE 15 rpm publish'
204+
inputs:
205+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
206+
msal_SNIAuth: 'msal-sniauth'
207+
msal_cert: $(virtualclient)
208+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
209+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
210+
repository: 'microsoft-opensuse15-prod-yum'
211+
212+
- task: PublishLinuxPackagesPMC@0
213+
displayName: 'OpenSUSE 42.2 rpm publish'
214+
inputs:
215+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
216+
msal_SNIAuth: 'msal-sniauth'
217+
msal_cert: $(virtualclient)
218+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
219+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
220+
repository: 'microsoft-opensuse42.2-prod-yum'
221+
222+
- task: PublishLinuxPackagesPMC@0
223+
displayName: 'OpenSUSE 42.3 rpm publish'
224+
inputs:
225+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
226+
msal_SNIAuth: 'msal-sniauth'
227+
msal_cert: $(virtualclient)
228+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
229+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
230+
repository: 'microsoft-opensuse42.3-prod-yum'
231+
232+
# RedHat
233+
- task: PublishLinuxPackagesPMC@0
234+
displayName: 'Red Hat 9.0 rpm publish'
235+
inputs:
236+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
237+
msal_SNIAuth: 'msal-sniauth'
238+
msal_cert: $(virtualclient)
239+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
240+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
241+
repository: 'microsoft-rhel9.0-prod-yum'
242+
243+
- task: PublishLinuxPackagesPMC@0
244+
displayName: 'Red Hat 8.2 rpm publish'
245+
inputs:
246+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
247+
msal_SNIAuth: 'msal-sniauth'
248+
msal_cert: $(virtualclient)
249+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
250+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
251+
repository: 'microsoft-rhel8.2-prod-yum'
252+
253+
- task: PublishLinuxPackagesPMC@0
254+
displayName: 'Red Hat 8.1 rpm publish'
255+
inputs:
256+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
257+
msal_SNIAuth: 'msal-sniauth'
258+
msal_cert: $(virtualclient)
259+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
260+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
261+
repository: 'microsoft-rhel8.1-prod-yum'
262+
263+
- task: PublishLinuxPackagesPMC@0
264+
displayName: 'Red Hat 8.0 rpm publish'
265+
inputs:
266+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
267+
msal_SNIAuth: 'msal-sniauth'
268+
msal_cert: $(virtualclient)
269+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
270+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
271+
repository: 'microsoft-rhel8.0-prod-yum'
272+
273+
- task: PublishLinuxPackagesPMC@0
274+
displayName: 'Red Hat 7.9 rpm publish'
275+
inputs:
276+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
277+
msal_SNIAuth: 'msal-sniauth'
278+
msal_cert: $(virtualclient)
279+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
280+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
281+
repository: 'microsoft-rhel7.9-prod-yum'
282+
283+
- task: PublishLinuxPackagesPMC@0
284+
displayName: 'Red Hat 7.8 rpm publish'
285+
inputs:
286+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
287+
msal_SNIAuth: 'msal-sniauth'
288+
msal_cert: $(virtualclient)
289+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
290+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
291+
repository: 'microsoft-rhel7.8-prod-yum'
292+
293+
- task: PublishLinuxPackagesPMC@0
294+
displayName: 'Red Hat 7.5 rpm publish'
295+
inputs:
296+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
297+
msal_SNIAuth: 'msal-sniauth'
298+
msal_cert: $(virtualclient)
299+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
300+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
301+
repository: 'microsoft-rhel7.5-prod-yum'
302+
303+
- task: PublishLinuxPackagesPMC@0
304+
displayName: 'Red Hat 7.4 rpm publish'
305+
inputs:
306+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
307+
msal_SNIAuth: 'msal-sniauth'
308+
msal_cert: $(virtualclient)
309+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
310+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
311+
repository: 'microsoft-rhel7.4-prod-yum'
312+
313+
- task: PublishLinuxPackagesPMC@0
314+
displayName: 'Red Hat 7.3 rpm publish'
315+
inputs:
316+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
317+
msal_SNIAuth: 'msal-sniauth'
318+
msal_cert: $(virtualclient)
319+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
320+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
321+
repository: 'microsoft-rhel7.3-prod-yum'
322+
323+
- task: PublishLinuxPackagesPMC@0
324+
displayName: 'Red Hat 7.2 rpm publish'
325+
inputs:
326+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
327+
msal_SNIAuth: 'msal-sniauth'
328+
msal_cert: $(virtualclient)
329+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
330+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
331+
repository: 'microsoft-rhel7.2-prod-yum'
332+
333+
- task: PublishLinuxPackagesPMC@0
334+
displayName: 'Red Hat 7.1 rpm publish'
335+
inputs:
336+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
337+
msal_SNIAuth: 'msal-sniauth'
338+
msal_cert: $(virtualclient)
339+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
340+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
341+
repository: 'microsoft-rhel7.1-prod-yum'
342+
343+
- task: PublishLinuxPackagesPMC@0
344+
displayName: 'Red Hat 6.9 rpm publish'
345+
inputs:
346+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
347+
msal_SNIAuth: 'msal-sniauth'
348+
msal_cert: $(virtualclient)
349+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
350+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
351+
repository: 'microsoft-rhel6.9-prod-yum'
352+
353+
354+
# SUSE Linux Enterprise Server
355+
- task: PublishLinuxPackagesPMC@0
356+
displayName: 'SLES 15 rpm publish'
357+
inputs:
358+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
359+
msal_SNIAuth: 'msal-sniauth'
360+
msal_cert: $(virtualclient)
361+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
362+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
363+
repository: 'microsoft-sles15-prod-yum'
364+
365+
- task: PublishLinuxPackagesPMC@0
366+
displayName: 'SLES 12 rpm publish'
367+
inputs:
368+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
369+
msal_SNIAuth: 'msal-sniauth'
370+
msal_cert: $(virtualclient)
371+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
372+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
373+
repository: 'microsoft-sles12-prod-yum'
374+
375+
- task: PublishLinuxPackagesPMC@0
376+
displayName: 'SLES 11 rpm publish'
377+
inputs:
378+
profile: 'prod' # or tux-dev or ppe or prod depending on what you selected
379+
msal_SNIAuth: 'msal-sniauth'
380+
msal_cert: $(virtualclient)
381+
msal_client_ID: 'f407a268-1184-4845-92b1-eebfbe0749c0'
382+
package_path: '$(Agent.BuildDirectory)/drop/rpmpackages'
383+
repository: 'microsoft-sles11-prod-yum'
384+
385+
90386
- job: PublishDebPackage
91387
timeoutInMinutes: 180
92388
dependsOn: BuildPackage
@@ -108,14 +404,14 @@ stages:
108404
SourceFolder: '$(Agent.BuildDirectory)/drop/'
109405
Contents: '*.deb'
110406
TargetFolder: '$(Agent.BuildDirectory)/drop/packages'
111-
407+
112408
- task: AzureKeyVault@2
113409
inputs:
114410
ConnectedServiceName: 'VirtualClient-AzureRM-AME'
115411
KeyVaultName: 'junoprod01vault01'
116412
SecretsFilter: 'virtualclient'
117413
RunAsPreJob: true
118-
414+
119415
# Debian
120416
- task: PublishLinuxPackagesPMC@0
121417
displayName: 'Debian 12.0 deb publish'

.pipelines/azure-pipelines.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ variables:
2222
ROOT: $(Build.SourcesDirectory)
2323
CDP_DEFINITION_BUILD_COUNT: $[counter('', 0)] # needed for onebranch.pipeline.version task https://aka.ms/obpipelines/versioning
2424
ENABLE_PRS_DELAYSIGN: 1
25-
GitVersion.SemVer: ''
2625

2726

2827
steps:

0 commit comments

Comments
 (0)