1

Jenkins を自分の git リポジトリに接続できません。問題はキーの場所にあると思われます。鍵はどこに置けばいいですか?私が読んだのは、Jenkins のホーム ディレクトリに配置する必要があるということです。それはJenkinsが実行されているディレクトリですか?/home/tomcat または、構成システム /opt/bitnami/apps/jenkins/jenkins_home からのホーム ディレクトリであるとジェンキンスが言うものは? キーと同じディレクトリに構成ファイルもある必要がありますか?

4

1 に答える 1

3

ザック、あなたはこれをずっと前に解決したかもしれませんが、他の誰かが答えを探している場合に備えて、ここで私のために働いた. 特別なことは何もありません。ユーザー tomcat として git を使用し、git リポジトリを操作できれば、それだけです。jenkins のビルド ジョブでは、プロジェクト リポジトリの場所を提供する以外に何もしないでください (キーのセットアップや資格情報などはありません)。Jenkins の外部の git と ssh にすべての作業を任せます。

私は bitnami jenkins AMI も使用しており、実際に Tomcat で Jenkins を war アプリとして実行しているため、Tomcat として実行されます。

  • sudo su - トムキャット
  • .profile のパスを更新して、git のビンの場所を指定します

PATH="/opt/bitnami/git/bin:$PATH"

'git --version' は tomcat ユーザーとして機能するようになったので、典型的な git の初回セットアップを行います。

  • git config --global user.name "アプリ ユーザー名"
  • git config --global user.email "app@dom.com" 値をスイートに置き換えます (これらを Jenkins に追加しないでください)
    • git config -l (これらの新しく追加された値を表示する必要があります)

今sshのセットアップ

  • /home/tomcat に .ssh ディレクトリを作成します
  • CD .ssh
  • このディレクトリに RSA キー (pub/private) をアップロードします
    • (重要、これらのファイルには mod 600 を設定してください)
    • (これも重要です。キーにパスフレーズがないことを確認してください)
  • ファイル「config」を作成し、以下を追加します(ホストと秘密鍵の名前を適切に置き換えます)

Host bitbucket.org IdentityFile ~/.ssh/id_rsa

最終チェック

  • 'ssh -T git@bitbucket.org' (またはあなたの git プロバイダーが何であれ) は、(あなたの名前) としてログインしたか、またはいくつかの成功メッセージを返すはずです。

(オプション)

キーの設定と指紋を確認するために次のことを行いましたが、必須ではないと思います。

  • 以下を .bashrc ファイルの末尾に追加し、ログアウトして再度ログインし、「ssh-add -l」を実行します。フィンガープリントとキー ファイルのパス/名前が表示されます。すべて問題ありません。

SSH_ENV=$HOME/.ssh/environment

# start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."
    # spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    /usr/bin/ssh-add
}

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi

于 2014-10-16T15:24:17.860 に答える