Предупреждение конвейера Bitbucket: постоянно добавлен ключ хоста RSA для IP-адреса.

Я пытаюсь интегрировать в свой конвейер битбакет автоматическое создание тегов. Итак, у меня есть сценарий bash:

#!/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 меняется, я не могу добавить его как Известный хост. Есть ли способ сделать толчок к репо, на котором я выполняю сборку?

Поскольку теги были найдены, а репозиторий клонирован, это означает, что я, безусловно, могу сделать толчок.


person Geoffrey    schedule 02.08.2017    source источник
comment
Итак, вы говорите, что ключи SSH уже добавлены, но файл известных хостов не обновлен, что вызывает эту ошибку?   -  person Tarun Lalwani    schedule 02.08.2017
comment
Честно говоря, я не знаю. Я только что увидел в журнале, что репо клонировано. для сборки нужен репо :), и я могу запускать другие команды, кроме push   -  person Geoffrey    schedule 02.08.2017
comment
И вы нажимаете только на битбакет?   -  person Tarun Lalwani    schedule 02.08.2017
comment
Я хочу нажать на репо, на котором я делаю сборку. Простой push-тег   -  person Geoffrey    schedule 02.08.2017


Ответы (1)


REPO не содержит ссылки на ваш общедоступный ключ SSH или образ Docker, на котором работает конвейер, содержит ключ SSH, о котором репозиторий не знает в своем файле author_keys.

Убедитесь, что: - Ключ SSH в образе конвейера Docker Bitbucket присутствует и является правильным. - Проверьте, какие ключи авторизованы для доступа к репозиторию Bitbucket, чтобы убедиться, что доступ предоставлен правильному открытому ключу.

Эта ошибка обычно связана с несоответствием ключа SSH. Я сталкивался с этим несколько раз.

Другие вещи, которые нужно проверить: - Если вы настроили открытый ключ, убедитесь, что вы использовали команду CAT (если работаете на nix), поскольку копирование / вставка из редакторов ненадежны. - Если вы копируете/вставляете откуда-то еще, убедитесь, что открытый ключ находится на

person nopuck4you    schedule 03.08.2017