2023年1月10日火曜日

github「Error: Key already in use」の対処方法

 githubからリポジトリをcloneしようとしたら、以下のエラーが出ました。

fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

sshキーは登録されてないかなと思って、こちらの手順を沿って、GitHub アカウントへの新しい SSH キーの追加しようとしたら、今度「Key already in use」のエラーが出て、登録できません。

そのssh publicキーはどんなアカウント、どのリポジトリに登録されているかを調査するため、以下のコマンドで見てみました

$ ssh -T -ai ~/.ssh/id_rsa git@github.com

# Connect to GitHub.com using a specific ssh key
> Hi <USER NAME>@<REPOSITORY NAME>! You've successfully authenticated, but GitHub does not
> provide shell access.
上記、「<USER NAME>」のところは登録されているアカウント情報になります。「<REPOSITORY NAME>」のところはどんなリポジトリに登録されているのかを示しています。

<REPOSITORY NAME>」がない場合は、アカウントに登録されていることになります。
どこで登録されているのかをわかったら、登録されているアカウントあるいはリポジトリのsshキー一覧ページを確認します。
※ アカウントに紐づくsshキー一覧ページはアカウントアイコン→「Settings」→左ナビーの「SSH and GPG keys」よりアクセスできます
※ リポジトリに紐づくsshキー一覧ページはリポジトリの「Settings」→「Deploys keys」よりアクセスできます

ただ、githubのsshページ一覧に表示されてるのはssh public キーのsha256 fingerprintになります。どのキーが当てはまるのは、以下のコマンドで確認できます
ssh-keygen -lf ~/.ssh/id_rsd
# 或いは明示的にsha256 fingerprintを指定して出力
ssh-keygen -lf ~/.ssh/id_rsa -E sha256
確認できたsshキーを削除し、再度紐づく対象アカウントに登録すれば問題なく登録できました。

2022年5月13日金曜日

Python3 「urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]」エラーの解決方法

 結論から言うと、以下のコマンドを実行すればエラーが解消されます

/Applications/Python\ 3.10/Install\ Certificates.command

2020年9月13日日曜日

Jenkins、上流ジョブから下流ジョブへパラメーターの引き渡す方法

やりたいことは、下流ジョブは上流ジョブからメッセージを受け取って表示します。そして上流ジョブのビルドURLも表示します。

まず、上流ジョブから下流ジョブにパラメーターを渡すこと

調査したところ、Jenkinsの「Parameterized Trigger plugin」というプラグインを使えばジョブ間のパラメーター引き渡す事ができます。

まずプラグインをインストールします。

次に、上流ジョブのビルドURLを取得し、下流ジョブに渡します。

ジョブのビルドURLを取得するには「BUILD_URL」を使います。

上流ジョブの「Predefined parameters」に、以下のように下流ジョブに渡す「メッセージ」と「ビルドURL」を定義します。

# ↓下流ジョブに渡す上流ジョブのビルドURL
LAST_TRIGGERED_JOB_URL=${BUILD_URL}
# ↓下流ジョブに渡すメッセージ
MESSAGE=[${JOB_NAME}]が正常に完了しました。




下流ジョブの「ビルドパラメータ化」を設定

下流ジョブの中、上流ジョブからのパラメータを使うには、「ビルドパラメータ化」を設定しないと直接使えないので、以下のように設定します。