ちょっと変な質問かもしれません、、
CircleCIを活用し、rubocop,RSpec、herokuへのデプロイを行っているのですが、
例えば、gitで管理していないファイルを変更しただけ、だったりCircleCIの環境変数?を設定しただけだったりする場合は、普通に
git push origin ~~
としても、
Everything up-to-date Everything up-to-date
と表示され、プッシュできないかと思います。
(これもなぜ2回表示されるのか気になりつつ放置してます、、)
こういったときに、無理やり変更場所を探してadd,commit,push
したりするのですが、もっと正しい方法があるはずだと思いました。。
git push -f
も確認しましたが、無理でした。
教えて頂けると大変嬉しいです。
よろしくお願い致します。
Git 管理していないのは、サーバー毎に内容が異なるからという認識でよろしいでしょうか?
Git のブランチとかうまく使えないかなとか、ちょっと思いました。
サーバーですか、、
すみません、この場合のサーバーは何を指すのでしょうか?
> 例えば、gitで管理していないファイルを変更しただけ、だったりCircleCIの環境変数?を設定しただけだったりする場合
こちらの部分では、gitignoreを設定していて管理していないファイルをイメージしていました。
よくあるのは、CircleCIの環境変数設定等です。プッシュが完了しないと、CircleCIが起動?しないのにプッシュできない事がよくあります。
> すみません、この場合のサーバーは何を指すのでしょうか?
rubocop,RSpec,heroku のことを指してました。
> よくあるのは、CircleCIの環境変数設定等です。
著名なプロジェクトでも Git 管理しているようですが、Git 管理したくない感じでしょうか。
ちょっと勘違いしていたかもしれません。参考までにリンクを貼っておきます。
まさかPushデバッグしてないよね? よく使うCircleCIのデバッグ方法 - VTRyo Blog
https://blog.vtryo.me/entry/circleci-debug-method
ありがとうございます!!
> circleci local execute --job build
でローカルでCircleCIが通るか確認できるのですね。
すぐ確認します!
すみません、教えて頂いた
> circleci local execute --job build
こちらを行うと、
```
Configuration errors: 1 error occurred:
* Cannot find a job named `build` to run in the `jobs:` section of your configuration file.
If you expected a workflow to run, check your config contains a top-level key called 'workflows:'
Step failed
Task failed
Error: 1 error occurred:
* Cannot find a job named `build` to run in the `jobs:` section of your configuration file.
If you expected a workflow to run, check your config contains a top-level key called 'workflows:'
```
このようなエラーとなりました。
この場合の、`configuration file`は
.circleci/config.yml
のことでいいのでしょうか?
その中の、buildの部分を探すと、
ファイルの一番最後に、
```
orbs:
build-tools: circleci/build-tools@2.6.3
jq: circleci/jq@1.9.1
workflows:
version: 2.1
build:
jobs:
- rspec
- rubocop
- heroku_deploy:
requires:
- rspec
- rubocop
```
とかいて有りました。
ただ、CircleCIの仕組みがあまりわかっておらず、この部分から上記のエラーの原因を探るべきなのでしょうか。。
このあたりの事についてもお聞きできるとうれしいです!
もし、このような場合新しい質問として立てるべきであれば、それもご指摘頂ければと思います、、
見た感じ、jobs に指定されている rspec とかを build の代わりに指定すると良いかもしれません。
> circleci local execute --job rspec
私も circleci に詳しいわけではないのでもし、ダメであれば、新しい質問にするか、追記で質問部分に経緯とエラーを追加しておくと他にこたえてもらえる人がいるかもしれません。
わかりました!
ありがとうございます、、
今まで、ローカルでできないことをすごく不快に思っていたので、嬉しいです。
教えて頂いたことも、うまくいくか検証していきます!
あなたの回答
tips
プレビュー