springboot
チュートリアルプロジェクトをCircleCiと統合しようとしています。
私のプロジェクトはGithubリポジトリ内のサブディレクトリ内にあり、CircleCiから次のエラーを受け取ります。
目標を実行するにはプロジェクトが必要ですが、このディレクトリ(/ home/circleci/recipe)にPOMはありません。正しいディレクトリからMavenを呼び出したことを確認してください。
私のプロジェクトがサブディレクトリ内にあることをcircle-ciに伝える方法がわかりません。 「レシピ」内でcd
を試すのと同様に、いくつかのことを試しましたが、うまくいきませんでした。
私のプロジェクトの構造は次のとおりです。
Spring-tutorials
|
+-- projectA
|
+-- recipe
| | +--pom.xml
これが私のconfig.yml
# Java Maven CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-Java/ for more details
#
version: 2
jobs:
build:
docker:
# specify the version you desire here
- image: circleci/openjdk:8-jdk
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
working_directory: ~/recipe
environment:
# Customize the JVM maximum heap limit
MAVEN_OPTS: -Xmx3200m
steps:
- checkout
- run: cd recipe/; ls -la; pwd;
# Download and cache dependencies
- restore_cache:
keys:
- recipe-{{ checksum "pom.xml" }}
# fallback to using the latest cache if no exact match is found
- recipe-
- run: cd recipe; mvn dependency:go-offline
- save_cache:
paths:
- ~/recipe/.m2
key: recipe-{{ checksum "pom.xml" }}
# run tests!
- run: mvn integration-test
私は問題を修正することができました。私はの組み合わせを信じています
working_directory: ~/spring-tutorial/recipe
との
- checkout:
path: ~/spring-tutorial
動作させた。
これが私の作業config.yml
:
# Java Maven CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-Java/ for more details
#
version: 2
jobs:
build:
working_directory: ~/spring-tutorial/recipe
docker:
# specify the version you desire here
- image: circleci/openjdk:8-jdk
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
environment:
# Customize the JVM maximum heap limit
MAVEN_OPTS: -Xmx3200m
steps:
- checkout:
path: ~/spring-tutorial
# Download and cache dependencies
- restore_cache:
keys:
- recipe-{{ checksum "pom.xml" }}
# fallback to using the latest cache if no exact match is found
- recipe-
- run: mvn dependency:go-offline
- save_cache:
paths:
- ~/.m2
key: recipe-{{ checksum "pom.xml" }}
# run tests!
- run: mvn integration-test
誰かがnpmコマンドを実行しようとして、cd
が期待どおりに動作しない場合、つまり:
cd subdir && npm run command
Npmの--prefix
オプションを使用できます。
- run:
name: Run start command in recipe folder
command: npm --prefix ./recipe run start
# then in same file
- run:
name: Run test command in app folder
command: npm --prefix ./app run test
少し混乱したので、もっと明確にしたい
作業スペース、この場合はそのサブフォルダーを定義するためにサブディレクトリを構築するための重要なソリューションは、このように定義されます
working_directory: ~/repo/sub_folder
とチェックアウト
- checkout:
path: ~/repo
このように
# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#
version: 2
jobs:
build:
docker:
# specify the version you desire here
- image: circleci/node:7.10
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/mongo:3.4.4
working_directory: ~/repo/sub_folder
steps:
- checkout:
path: ~/repo
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-
- run: npm install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
# run tests!
- run: npm test