master-pipeline.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. version: '1.0'
  2. name: master-pipeline
  3. displayName: MasterPipeline
  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. # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,24小时后自动清除
  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. - stage:
  40. name: release
  41. displayName: 发布
  42. steps:
  43. - step: publish@release_artifacts
  44. name: publish_release_artifacts
  45. displayName: '发布'
  46. # 上游上传制品任务的产出
  47. dependArtifact: output
  48. # 发布制品版本号
  49. version: '1.0.0.0'
  50. # 是否开启版本号自增,默认开启
  51. autoIncrement: true
  52. triggers:
  53. push:
  54. branches:
  55. include:
  56. - master