Jenkinsでgitリポジトリの設定が出来ない場合の対処法

投稿日:2023/04/27 最終更新日:2023/04/27

Jenkinsでgitリポジトリの設定が出来ない場合の対処法

環境

M2 Mac 13-inch Ventura バージョン13.0

使用アプリ

・Docker Desktop for Mac
・GitHub
・Jenkins

発生した内容

Docker Composeでコンテナ上にJenkinsを立てて、プラグインのインストールも完了。

その後に「新規ジョブ設定」>「ソースコード管理」でgitの設定をした際に以下のエラーが出ました。

stderr: remote: support for password authentication was removed on august 13, 2021.

どういうことや?

久しぶりにJenkinsを触ったこともあり、エラーに書かれている内容を調べてみたところ、、、

どうやら「リモートでリポジトリにアクセスするためにはトークンを発行」しなければいけない模様。

私の覚えている限りではプライベートリポジトリにアクセスするにはSSH認証を設定すればおけ的なイメージでいましたが、色々と変わっているのですね。

めんどくさい、、、

 

とも言いつつ、下記の手順で進めた結果ビルドまで成功しました。

対処方法

アクセストークンを設定する

①「GitHub右上のアイコン」>「Settings」を順にクリック

② 左サイドバーの「Developer settings」をクリック

③「Personal Access Tokens」>「Tokens」をクリック

④「Generate New Token」>「Generate New Token(Classic)」をクリック

⑤下記の部分を設定していく

Note:好きなタイトルを設定します

・Expiration:アクセストークンの期限を設定します

・Select scopes:「repo」「admin:public_key」「admin:repo_hook」「delete_repo」あたりにチェックを入れる

⑥「Generate Token」をクリックしてアクセストークンの設定完了

Jenkinsでアクセストークンを使用してリポジトリにアクセスする

①「新規ジョブ設定」をクリック

②「ソースコード管理」へ進む

③ 下記の形で「リポジトリURL」に入力をする

https://[アクセストークン番号]@github.com/[Gitユーザー名]/[リポジトリ名].git

(例)リポジトリ名:myRepository、Gitユーザー名:taro、アクセストークン番号:123456
→ https://123456@github.com/test/taro.git

④「+追加」>「Jenkins」を選択

⑤「種類」は「SSHユーザ名と秘密鍵」を選択し→「秘密鍵」>「直接入力」を選択→「Add」をクリック

⑥空欄の部分にSSH認証鍵を入力する
※念のための設定です
※SSH認証鍵の設定はこちらの記事が分かりやすいです

⑥ 特に赤字のエラーが出ていなければ「追加」をクリック

⑦「ビルドするブランチ」を/mainに変更する
※/masterをメインブランチにしている場合は/masterで良いはず

⑧「保存」をクリック

⑨「ビルドの実行」をクリックして成功したら完成!

まとめ

解決するのに結構時間がかかりましたが、今はGitのリモートアクセスにはアクセストークンを設定する必要があることは覚えておきたいところですね。

次はGitへプッシュした際にJenkinsを走らせてDockerコンテナ上のテストサーバーにデプロイするパイプラインを作成したいと思いますので、エラーや気付きなどがあれば投稿したいと思います!

参考URL

https://stackoverflow-com.translate.goog/questions/68812200/jenkins-github-plugin-using-personal-access-token-required-after-aug-13-20?_x_tr_sl=en&_x_tr_tl=ja&_x_tr_hl=ja&_x_tr_pto=sc

https://ios-docs.dev/20210813support-for-password/