NOTE: この記事は INTERNAL の記事であり、現在お客様にはご覧いただけません。 この記事へのリンクは社内のコメントでのみ行ってください。
問題
- 一部のユーザーから、Jenkinsビルドのトリガー中に以下のエラーが発生したとの報告がある。
stderr: fatal: Unable to create '/var/jenkins_home/workspace/vil_uat/.git/shallow.lock': File exists
環境
- Liferay Experience Cloudセルフマネージド(LXC SM)
解像度
-
毎回のビルド後、ワークスペースは自動的にクリーニングされ、
shallow.lock
はこのシナリオで削除されるはずである。しかし、何らかの理由でビルドが完了しない場合、ユーザーは次のビルドでそのような問題やエラーに直面する。 -
回避策
- ユーザーのロックを手動で外す。 これは、gitクライアントがビルドの途中で失敗し、ロックファイルをクリーンアップしなかったために残ったものです。
-
CIサービスにカスタムの'Jenkinsfile'をデプロイし、パイプラインの最初の'最初のステップ'を追加し、パイプラインの残りの部分を続ける前に、ぶら下がったロックファイルをクリーンアップする。
両アプローチの欠点
gitがクラッシュしてファイルがぶら下がったままになっているなど、問題が再び発生した場合は、最初の方法に従わなければならない。
2つ目の方法は問題を一挙に解決するが、カスタムJenkinsfileを作成し、ユーザーにデプロイ方法を示すために、クラウド製品チームがより多くの作業を行う必要がある。 さらにこの方法では、今後新しいジェンキンス・イメージがリリースされても、新しいアップデートを受けることはない。 この代わりに、'hooks' を使うことができる。
- ユーザーのロックを手動で外す。 これは、gitクライアントがビルドの途中で失敗し、ロックファイルをクリーンアップしなかったために残ったものです。