投稿日: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コンテナ上のテストサーバーにデプロイするパイプラインを作成したいと思いますので、エラーや気付きなどがあれば投稿したいと思います!