我使用以下按預期工作的配置,它在每個 PR 上運行命令或合并到 master,現在我想做一些集成測試,我只想在合并到 master 時運行,所有 PR 應該保持不變(并像以前一樣運行以下配置)。這里的細微差別是,對于集成測試,我需要其他 docker 映像和不同的運行命令來執行(只有在合并到主服務器時才應該執行),是否可以使用 CircleCI 來完成?# Golang CircleCI 2.0 configuration fileversion: 2jobs: build: docker: # specify the version - image: circleci/golang:1.11 working_directory: /go/src/sbr steps: - checkout - run: go version - run: go env - run: go get -v -t -d ./... - run: go test -v ./...我嘗試在現有圖像下添加另一個 docker 圖像,但出現錯誤更新:version: 2jobs: build: docker: - image: circleci/golang:1.11 working_directory: /go/src/sbr steps: - checkout - run: go version - run: go env - run: go get -v -t -d ./... - run: go test -v ./... test-integration: docker: - image: other-imageworkflows: version: 2 builds: jobs: - build integration-test: jobs: - test-integration: requires: - build filters: branches: only: master這里的問題是我在添加到第二個工作流程時出錯require requires: - build 我希望在測試之前test-integration它也能build按照要求運行作業。我做錯了什么?錯誤是:requires job \"build\" but \"build\" is not part of this workflow.# At least one job in the workflow must have no dependencies.# The following jobs are unreachable: integration# # -------# Don't rerun this job. Rerunning will have no effect.false
1 回答

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
您的配置有一個名為的作業build
,沒有工作流。聽起來您想要的是為集成測試運行第二個作業,并且僅在分支為 master 時才運行第二個作業。要完成這兩個任務,您將使用包含兩個作業的工作流。
這可能是什么樣子的一個例子:
jobs:
? build:
? ? docker:
? ? ?- image: circleci/golang:1.11
? ? ...
? test-integration:
? ? docker:
? ? ? - image: other-image
? ? ...
workflows:
? version: 2
? workflow-name:
? ? jobs:?
? ? ? - build
? ? ? - test-integration:
? ? ? ? ? filters:
? ? ? ? ? ? branches:
? ? ? ? ? ? ? only: master
- 1 回答
- 0 關注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消