Circleci 和 GoBuffalo 挑战

Circleci and GoBuffalo challenge

我目前正在尝试让 GoBuffalo 和 CircleCi 正常工作,但到目前为止还没有成功。

Circleci 在 "buffalo build" 步骤失败并显示错误消息:

我的config.yaml:

version: 2
jobs:
  khw_build_and_test:
    docker:
      - image: circleci/golang:1.9
    working_directory: /go/src/github.com/khwerhahn/khw
    environment:
      TEST_RESULTS: /tmp/test-results
    steps:
      - checkout
      - run: mkdir -p $TEST_RESULTS # create the test results directory
      - run:
          name: Update PATH and Define Environment Variable at Runtime
          command: |
            echo 'export PATH=${GOPATH}/bin/:${PATH}' >> $BASH_ENV
            source $BASH_ENV
      - run: go get -v -t -d ./...
      - run: go get -u -v github.com/gobuffalo/buffalo/buffalo
      - run: buffalo build
      - restore_cache:
          keys:
            - v1-pkg-cache
      - save_cache: # Store cache in the /go/pkg directory
          key: v1-pkg-cache
          paths:
            - "/go/pkg"
  khw_deploy_to_production:
    xxxx cut out xxxx

workflows:
  version: 2
  build_test_deploy:
    jobs:
      - khw_build_and_test
      - khw_deploy_to_production:
          requires:
            - khw_build_and_test
          filters:
            branches:
              only: master

谁能给我解释一下这个错误?

它尝试将 js 与 webpack 捆绑在一起,尝试 --skip-assets 因为你可能没有它的前端:

- run: buffalo build --skip-assets

关于他们的前端要求的更多信息是 here

Tino,这就是我在 CircleCi 中使用 buffalo 运行 进行测试的方式,一件重要的事情是您可以将 buffalo 图像用于 build/test 您的代码。

这有一些优点:

  1. 所有 buffalo 依赖项都已在 buffalo 映像中
  2. 它预装了 postgres,所以我只需启动它并运行 对其进行测试。
version: 2

jobs:
  test:
    docker:
      - image: gobuffalo/buffalo:v0.14.0
    working_directory: /go/src/github.com/my/app
    steps:
      - checkout
      - run: GO111MODULE=off go get github.com/gobuffalo/buffalo-plugins
      - run: buffalo plugins install
      - run: service postgresql start && buffalo db create -e test && buffalo db migrate -e test
      - run: service postgresql start && buffalo test ./...