pr-pipeline.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. version: '1.0'
  2. name: pr-pipeline
  3. displayName: PRPipeline
  4. stages:
  5. - stage:
  6. name: compile
  7. displayName: 编译
  8. steps:
  9. - step: build@golang
  10. name: build_golang
  11. displayName: Golang 构建
  12. # 支持1.8、1.10、1.11、1.12、1.13、1.14、1.15、1.16八个版本
  13. golangVersion: 1.12
  14. # 构建命令
  15. commands: |
  16. mkdir output
  17. GOOS=linux GOARCH=amd64 go build -o output/main.amd64 main.go
  18. GOOS=linux GOARCH=386 go build -o output/main.linux32 main.go
  19. GOOS=windows GOARCH=amd64 go build -o output/main.win64.exe main.go
  20. GOOS=windows GOARCH=386 go build -o output/main.win32.exe main.go
  21. GOOS=darwin GOARCH=amd64 go build -o output/main.darwin main.go
  22. chmod +X output/main.linux32
  23. ./output/main.linux32
  24. # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
  25. artifacts:
  26. # 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
  27. - name: BUILD_ARTIFACT
  28. # 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
  29. path:
  30. - ./output
  31. - step: publish@general_artifacts
  32. name: publish_general_artifacts
  33. displayName: 上传制品
  34. # 上游构建任务定义的产物名,默认BUILD_ARTIFACT
  35. dependArtifact: BUILD_ARTIFACT
  36. # 上传到制品库时的制品命名,默认output
  37. artifactName: output
  38. dependsOn: build_golang
  39. triggers:
  40. pr:
  41. branches:
  42. include:
  43. - master