適切なサーバーで適切なキーを使用している限り、ssh-keygenは任意の場所から実行できます。ここで
は何が必要です:
- は、鍵ペアを生成
- コピーgitlabのCI変数にプライベートキー(のは
SSH_PRIVATE_KEY
それを呼びましょう)
- コピーに、公開キーサーバーgitlabが接続して
~/.ssh/authorized_keys
ファイルに追加します
- Gに格納されている秘密鍵を使用するようにCIパイプラインに伝えます
- 'which ssh-agent || (apt-get update -y && apt-get install openssh-client -y)'
# Run ssh-agent (inside the build environment)
- eval $(ssh-agent -s)
# Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
は、その後、あなたのSSH接続とほらを実行します。変数itlab CIは
その最後のステップを行うためには、単にスクリプトまたは関心の仕事のbefore_scriptセクションで、あなたの.gitlab-ci.yml
に以下を追加します!
編集:私はこの情報を最初に発見したところ、私は覚えていませんでしたが、ここにある:多分https://docs.gitlab.com/ee/ci/ssh_keys/README.html
愚かな質問が、どこSSHキーを生成するには?私はあなたがターゲットサーバ上でそれらを生成する必要があると仮定します。 –
答えで述べたように、秘密鍵をGitlab CI変数にコピーし、公開鍵ファイルをターゲットサーバにコピーする限り、SSH鍵はどこでも生成することができます – Jawad