-
Notifications
You must be signed in to change notification settings - Fork 62
/
Copy pathazure-pipelines.yml
135 lines (108 loc) · 3.58 KB
/
azure-pipelines.yml
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
resources:
repositories:
- repository: launcher-automation
type: github
name: docusign/launcher-automation
ref: main
endpoint: launcherAutomationServiceConnection
pr:
- master
- releases/*
pool:
name: launcher-automation-pool
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
- checkout: self
- checkout: launcher-automation
- script: dir $(Build.SourcesDirectory)
- task: DownloadSecureFile@1
name: csharp_dockerfile
displayName: 'download Dockerfile'
inputs:
secureFile: 'csharp.Dockerfile'
- script: |
echo "place csharp.Dockerfile"
echo $(csharp_dockerfile.secureFilePath)
cp $(csharp_Dockerfile.secureFilePath) code-examples-csharp-private/Dockerfile
displayName: 'place Dockerfile'
- script: |
allure –-version
java --version
javac --version
mvn --version
docker --version
- task: DownloadSecureFile@1
name: csharp_config_properties
displayName: 'download config.properties'
inputs:
secureFile: 'csharp.config.properties'
- script: |
echo "place config.properties"
echo $(csharp_config_properties.secureFilePath)
cp $(csharp_config_properties.secureFilePath) launcher-automation/src/main/resources/config.properties
displayName: 'place config.properties'
- task: DownloadSecureFile@1
name: csharp_appsettings
displayName: 'download appsettings.json'
inputs:
secureFile: 'csharp.appsettings.json'
- script: |
echo "place appsettings.json"
cp $(csharp_appsettings.secureFilePath) code-examples-csharp-private/launcher-csharp/appsettings.json
displayName: 'place appsettings.json'
- task: DownloadSecureFile@1
name: csharp_private_key
displayName: 'download private.key'
inputs:
secureFile: 'private.key'
- script: |
echo "place private.key"
cp $(csharp_private_key.secureFilePath) code-examples-csharp-private/launcher-csharp/private.key
displayName: 'place private.key'
- script: dir $(Build.SourcesDirectory)
- script: dir $(Build.SourcesDirectory)/code-examples-csharp-private
- script: |
echo "Checking for running Docker containers..."
containers=$(docker ps -q)
if [ ! -z "$containers" ]; then
echo "Stopping running Docker containers..."
docker stop $(docker ps -q)
else
echo "No Docker containers are running."
fi
displayName: "check for running containers"
- script: |
docker system prune -a --force
displayName: "cleanup docker files"
- task: Docker@2
displayName: Build csharp image
inputs:
command: build
repository: 'launcher-automation-csharp'
dockerfile: '$(Build.SourcesDirectory)/code-examples-csharp-private/Dockerfile'
buildContext: '$(Build.SourcesDirectory)/code-examples-csharp-private '
tags: |
latest
- script: |
docker run -p 44333:44333 -d launcher-automation-csharp:latest
displayName: 'start csharp app'
- script: |
cd launcher-automation
mvn clean test -DsuiteXmlFile="csharp_suite.xml"
displayName: 'C# app tests'
- script: |
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
displayName: 'stop csharp app'
- script: |
allure generate --clean --output $(Build.SourcesDirectory)/csharp-allure-output '$(Build.SourcesDirectory)/launcher-automation/target/allure-results'
displayName: generate allure html reports
- task: PublishAllureReport@1
displayName: 'Publish Allure Report'
inputs:
reportDir: '$(Build.SourcesDirectory)/csharp-allure-output'