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