master-pipeline.yml 2.1 KB
Newer Older
chai2010's avatar
chai2010 已提交
1 2 3 4 5 6 7 8 9 10 11 12
version: '1.0'
name: master-pipeline
displayName: MasterPipeline
stages:
  - stage: 
    name: compile
    displayName: 编译
    steps:
      - step: build@golang
        name: build_golang
        displayName: Golang 构建
        # 支持1.8、1.10、1.11、1.12、1.13、1.14、1.15、1.16八个版本
chai2010's avatar
chai2010 已提交
13
        golangVersion: 1.17
chai2010's avatar
chai2010 已提交
14 15
        # 构建命令
        commands: |
chai2010's avatar
chai2010 已提交
16 17
          go env -w GO111MODULE=on
          go env -w GOPROXY=https://goproxy.cn,direct
chai2010's avatar
chai2010 已提交
18 19 20 21
          mkdir output
          GOOS=linux GOARCH=amd64 go build -o output/main.amd64 main.go
          GOOS=windows GOARCH=amd64 go build -o output/main.win64.exe main.go
          GOOS=darwin GOARCH=amd64 go build -o output/main.darwin main.go 
chai2010's avatar
chai2010 已提交
22 23
          chmod +X output/main.linux64
          ./output/main.linux64
chai2010's avatar
chai2010 已提交
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
        # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,24小时后自动清除
        artifacts:
            # 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
          - name: BUILD_ARTIFACT
            # 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
            path:
              - ./output
      - step: publish@general_artifacts
        name: publish_general_artifacts
        displayName: 上传制品
        # 上游构建任务定义的产物名,默认BUILD_ARTIFACT
        dependArtifact: BUILD_ARTIFACT
        # 上传到制品库时的制品命名,默认output
        artifactName: output
        dependsOn: build_golang
  - stage: 
    name: release
    displayName: 发布
    steps:
      - step: publish@release_artifacts
        name: publish_release_artifacts
        displayName: '发布'
        # 上游上传制品任务的产出
        dependArtifact: output
        # 发布制品版本号
        version: '1.0.0.0'
        # 是否开启版本号自增,默认开启
        autoIncrement: true
triggers:
  push:
    branches:
      include:
        - master