From 464e5aef5fdc5e02480f26cad2a8eefd6363c367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=8A=E6=B6=82=E7=9A=84=E8=80=81=E7=9F=A5=E9=9D=92?= <455650119@qq.com> Date: Tue, 12 Jul 2022 13:05:46 +0000 Subject: [PATCH] add default pipeline template yaml --- .workflow/BranchPipeline.yml | 58 ++++++++++++++++++++++++++++++++++++ .workflow/MasterPipeline.yml | 56 ++++++++++++++++++++++++++++++++++ .workflow/PRPipeline.yml | 43 ++++++++++++++++++++++++++ 3 files changed, 157 insertions(+) create mode 100644 .workflow/BranchPipeline.yml create mode 100644 .workflow/MasterPipeline.yml create mode 100644 .workflow/PRPipeline.yml diff --git a/.workflow/BranchPipeline.yml b/.workflow/BranchPipeline.yml new file mode 100644 index 0000000..4eae085 --- /dev/null +++ b/.workflow/BranchPipeline.yml @@ -0,0 +1,58 @@ +version: '1.0' +name: branch-pipeline +displayName: BranchPipeline +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八个版本 + golangVersion: 1.12 + # 构建命令 + commands: | + mkdir output + GOOS=linux GOARCH=amd64 go build -o output/main.amd64 main.go + GOOS=linux GOARCH=386 go build -o output/main.linux32 main.go + GOOS=windows GOARCH=amd64 go build -o output/main.win64.exe main.go + GOOS=windows GOARCH=386 go build -o output/main.win32.exe main.go + GOOS=darwin GOARCH=amd64 go build -o output/main.darwin main.go + chmod +X output/main.linux32 + ./output/main.linux32 + # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除 + 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: + exclude: + - master + include: + - .* diff --git a/.workflow/MasterPipeline.yml b/.workflow/MasterPipeline.yml new file mode 100644 index 0000000..8e98549 --- /dev/null +++ b/.workflow/MasterPipeline.yml @@ -0,0 +1,56 @@ +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八个版本 + golangVersion: 1.12 + # 构建命令 + commands: | + mkdir output + GOOS=linux GOARCH=amd64 go build -o output/main.amd64 main.go + GOOS=linux GOARCH=386 go build -o output/main.linux32 main.go + GOOS=windows GOARCH=amd64 go build -o output/main.win64.exe main.go + GOOS=windows GOARCH=386 go build -o output/main.win32.exe main.go + GOOS=darwin GOARCH=amd64 go build -o output/main.darwin main.go + chmod +X output/main.linux32 + ./output/main.linux32 + # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,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 diff --git a/.workflow/PRPipeline.yml b/.workflow/PRPipeline.yml new file mode 100644 index 0000000..d1c02dc --- /dev/null +++ b/.workflow/PRPipeline.yml @@ -0,0 +1,43 @@ +version: '1.0' +name: pr-pipeline +displayName: PRPipeline +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八个版本 + golangVersion: 1.12 + # 构建命令 + commands: | + mkdir output + GOOS=linux GOARCH=amd64 go build -o output/main.amd64 main.go + GOOS=linux GOARCH=386 go build -o output/main.linux32 main.go + GOOS=windows GOARCH=amd64 go build -o output/main.win64.exe main.go + GOOS=windows GOARCH=386 go build -o output/main.win32.exe main.go + GOOS=darwin GOARCH=amd64 go build -o output/main.darwin main.go + chmod +X output/main.linux32 + ./output/main.linux32 + # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除 + 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 +triggers: + pr: + branches: + include: + - master