我試圖融入我的到位桶管道自動化標籤創建 所以基本上我有一個bash腳本:到位桶管道警告:永久增加了IP地址的RSA主機密鑰
#!/bin/bash
# retrieve branch name
BRANCH_NAME=$(git branch | sed -n '/\* /s///p')
# remove prefix release
REGEXP_RELEASE="release\/"
VERSION_BRANCH=$(echo "$BRANCH_NAME" | sed "s/$REGEXP_RELEASE//")
echo "Current version branch is $VERSION_BRANCH"
# retrieve the last commit on the branch
VERSION=$(git describe --tags --match=$VERSION_BRANCH* --abbrev=0)
# split into array
VERSION_BITS=(${VERSION//./ })
#get number parts and increase last one by 1
VNUM1=${VERSION_BITS[0]}
VNUM2=${VERSION_BITS[1]}
VNUM3=${VERSION_BITS[2]}
VNUM3=$((VNUM3+1))
#create new tag
NEW_TAG="$VNUM1.$VNUM2.$VNUM3"
echo "Updating $VERSION to $NEW_TAG"
#get current hash and see if it already has a tag
GIT_COMMIT=`git rev-parse HEAD`
NEEDS_TAG=`git describe --contains $GIT_COMMIT`
#only tag if no tag already (would be better if the git describe command above could have a silent option)
if [ -z "$NEEDS_TAG" ]; then
echo "Tagged with $NEW_TAG (Ignoring fatal:cannot describe - this means commit is untagged) "
git tag $NEW_TAG
git push --tags
else
echo "Already a tag on this commit"
fi
然後我管線:
# This is a sample build configuration for Java (Maven).
# Check our guides at https://confluence.atlassian.com/x/zd-5Mw for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: maven:3.3.9
pipelines:
default:
- step:
caches:
- maven
script: # Modify the commands below to build your repository.
- mvn clean package -Denv=uat
branches:
master:
- step:
caches:
- maven
script: # Modify the commands below to build your repository.
- mvn clean package -Denv=uat
- chmod +x tag.sh
- ./tag.sh
然而,當管道試圖推動我收到錯誤的標籤:
./tag.sh<1s
+ ./tag.sh
Current version branch is master
Updating master-1.0.2 to master-1.0.3fatal: cannot describe '493bf0b1aef120879af57e25d63dde24ad0c7de2'
Tagged with master-1.0.3 (Ignoring fatal:cannot describe - this means commit is untagged)
Warning: Permanently added the RSA host key for IP address '104.192.143.3' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.
所以我不明白的是爲什麼我得到這個問題以及如何解決這個問題。 我讀https://confluence.atlassian.com/bitbucket/use-ssh-keys-in-bitbucket-pipelines-847452940.html 但我不明白,因爲第一我沒有訪問管道遠程。隨着IP更改,我無法將其添加爲已知主機。 有沒有辦法推動我正在執行構建的回購協議?
由於標籤已被找到,回購已被克隆,這意味着我當然可以做推。
所以你說SSH密鑰已經添加,但已知的主機文件沒有更新,這是造成這個錯誤? –
我真的不知道。我剛剛在日誌中看到repo被克隆。該版本需要回購:)並且我能夠運行其他命令,除了推 – Geoffrey
而你只推動到bitbucket? –