現在、パイプラインを設定してブランチにコミットされたときに、ビルドとテストが合格するとマスタとマージします。しかし、私はこのエラーを受け取ります:Jenkins pipeline:merge fail
[Build, test and deploy front] Running shell script
+ git merge origin/Develop
error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
メッセージはかなり明確です、それはマージ競合のためにマージされません。しかし、私がマスターにマージしようとしているブランチは、マスターから作成された新しいブランチです。現在、変更はありません。私はそれが何を指しているのか分からない。ここ
は私のパイプラインである:
pipeline {
agent any
// this tool will be used for all stages/steps except over-written
tools {nodejs "newest node"}
stages {
stage('build') {
steps {
sh 'cd frontend'
sh 'npm install'
}
}
stage('test'){
steps{
echo 'Hello, JDK'
}
}
stage('update master'){
steps{
sh 'git merge origin/Develop'
sh 'git commit -am "Merged develop branch to master'
sh "git push origin master"
}
}
}
}
EDIT:だから
HEAD detached from 25e2038
Untracked files:
frontend/
nothing added to commit but untracked files present
:
これは、これがエラーを返した今
pipeline {
agent any
// this tool will be used for all stages/steps except over-written
tools {nodejs "newest node"}
stages {
stage('build') {
steps {
sh 'cd client'
sh 'npm install'
}
}
stage('update master'){
steps{
sh 'git add -A'
sh 'git reset --hard HEAD'
sh 'git merge origin/Develop'
sh 'git commit -m "Merged develop branch to master"'
sh "git push origin master"
}
}
}
}
私が使用するコードです合併は今や成功しているようだsfulですが、コミットは行われず、追跡されていないファイルにエラーがスローされます。フロントエンドは私のgithubフォルダには存在しませんが、私の前のコードは 'cd frontend'でしたので、取り除くことはできません。ハードリセットはそれを削除しません。 git clean -ffd
を追加することにより、
EDIT 2 は、フロントエンド/フォルダがなくなっていますが、ビルドはまだ失敗します。
pipeline {
agent any
// this tool will be used for all stages/steps except over-written
tools {nodejs "newest node"}
stages {
stage('build') {
steps {
sh 'npm install'
}
}
stage('update master'){
steps{
sh 'git add -A'
sh 'git commit --allow-empty -am "Merged developer branch into master"'
sh 'git merge origin/Develop'
sh "git push origin HEAD:master"
}
}
}
}
それは働いていたが、今私がコミットに新しいエラーが表示されます。 + gitが-amをコミットするには、致命的な を習得するために枝を開発合併:-aとパスは意味がありません。コミットするとき.. 'gitの-mをコミット-a'フラグ –
削除は'「master'への分岐を開発合併更新答え –
は、新しいエラーを与える:。。追加 \tフロントエンド/ 何もない:9d599ad 人跡未踏のファイルから切り離さ HEADコミットするには未追跡のファイルが存在する –