Untitled
trigger:
- master
pr:
- '*'
stages:
-
stage: BuildAndTest displayName: 'Build and Test' jobs:
- job: BuildAndTest
displayName: 'Build and Test'
pool:
vmImage: 'windows-latest'
steps:
-
task: UseJavaVersion@1 inputs: versionSpec: '11' # Java 11 jdkArchitectureOption: 'x64'
-
script: |
Build and test your Spring application
For example, using Maven:
mvn clean install displayName: 'Build and Test'
-
- job: BuildAndTest
displayName: 'Build and Test'
pool:
vmImage: 'windows-latest'
steps:
-
stage: DeployToDev displayName: 'Deploy to Development' dependsOn: BuildAndTest jobs:
- job: DeployToDev
displayName: 'Deploy to Development'
pool:
vmImage: 'ubuntu-latest'
steps:
-
script: |
Deployment steps for your development environment (Linux server)
Example: Copy the built artifact to the Dev server
Define source and destination paths
$sourcePath = "$(Pipeline.Workspace)/target/your-app.jar" # Update the path to your built JAR $destinationPath = "/path/to/development/server" # Update the destination folder on Dev server
Copy the JAR file to the Dev server
scp $sourcePath user@dev-server:$destinationPath
Optionally, you can run commands to restart services, etc., on the Dev server
displayName: 'Deploy to Development'
-
- job: DeployToDev
displayName: 'Deploy to Development'
pool:
vmImage: 'ubuntu-latest'
steps:
-
stage: DeployToStaging displayName: 'Deploy to Staging' dependsOn: DeployToDev jobs:
- job: DeployToStaging
displayName: 'Deploy to Staging'
pool:
vmImage: 'ubuntu-latest'
steps:
-
script: |
Deployment steps for your staging environment (Linux server)
Example: Copy the built artifact to the Staging server
Define source and destination paths
$sourcePath = "$(Pipeline.Workspace)/target/your-app.jar" # Update the path to your built JAR $destinationPath = "/path/to/staging/server" # Update the destination folder on Staging server
Copy the JAR file to the Staging server
scp $sourcePath user@staging-server:$destinationPath
Optionally, you can run commands to restart services, etc., on the Staging server
displayName: 'Deploy to Staging'
-
- job: DeployToStaging
displayName: 'Deploy to Staging'
pool:
vmImage: 'ubuntu-latest'
steps:
-
stage: DeployToProd displayName: 'Deploy to Production' dependsOn: DeployToStaging jobs:
- job: DeployToProd
displayName: 'Deploy to Production'
pool:
vmImage: 'ubuntu-latest'
steps:
-
script: |
Deployment steps for your production environment (Linux server)
Example: Copy the built artifact to the Production server
Define source and destination paths
$sourcePath = "$(Pipeline.Workspace)/target/your-app.jar" # Update the path to your built JAR $destinationPath = "/path/to/production/server" # Update the destination folder on Production server
Copy the JAR file to the Production server
scp $sourcePath user@production-server:$destinationPath
Optionally, you can run commands to restart services, etc., on the Production server
displayName: 'Deploy to Production'
-
- job: DeployToProd
displayName: 'Deploy to Production'
pool:
vmImage: 'ubuntu-latest'
steps: