Jenkinsを使用するのはこれが初めてで、いくつかのオンライン記事を調べましたが、満足のいく答えを見つけることができませんでした。 .Netプロジェクトがあり、プライベートGitHubリポジトリを使用しています。現在、Jenkinsを使用してCIサーバーを構築しようとしています。開発者がコードをGitHubにプッシュするたびに、CIサーバー上でプロジェクトをビルドするというアイデアがあります。 Jenkins(v 1.646)とGitHub、Git、MSBuildプラグインをCIサーバーに既にインストールしています。過去数時間ジェンキンスと仕事をした後、私は今いくつかの質問があります。
1>デフォルトでは、Jenkinsはポート8080で実行されます。ただし、継続的インテグレーションが機能するには、JenkinsはGitHubから通知を受信する必要があります。ポート8080はデフォルトで外部からブロックされており、CIサーバーではポート80が開いています。 Jenkins.xmlファイルのhttpportを更新して、Jenkinsがポート80で実行されるようにしました。
パブリックインターネットからJenkinsにアクセスでき、WebフックのURLは http:// ipaddress/github-webhook になりましたが、誰でもJenskinsにアクセスできるようになったため、これにより大きなセキュリティホールが開かれます。この問題を解決するために、グローバルセキュリティ->プロジェクトベースのマトリックス認証戦略を構成しました。そのため、今では私だけがログインしてプロジェクトを管理できます。ただし、誰でもIPアドレスを入力し、Jenkinsページにアクセスして、新しいユーザーアカウントを作成できます。そのユーザーは何にもアクセスできませんが、それでもJenkinsのデータベースに新しいユーザーが作成されます。通常どおりポート8080でJenkins管理を実行し、ポート80で通知を受信する方法はありますか。
2> Jenkinsの[システム構成]ページに、「Git」と「GitHubプラグイン構成」のみが表示されます。 「GitHubWebフック」オプションが表示されません。また、「JenkinsにフックURLを自動管理させる」もバージョン1.646で変更されています。
3>プライベートリポジトリを使用しているため、プロジェクトのURLは https://github.com/MyCompanyName/reponame で、リポジトリのURLは https://github.com/MyCompanyName/reponame)です。 .git URLにはユーザー名ではなく会社名が含まれていることに注意してください。しかし、エラーJenkinsログが表示されます
GitHubRepositoryName [Host = github.com、username = MyCompanyName、repository = repository] Java.lang.NullPointerExceptionからフックを削除できませんでした:GitHubRepositoryName [Host = github.com、username = MyCompanyName、リポジトリ=リポジトリ] com.google.common.base.Preconditions.checkNotNull(Preconditions.Java:231)
なぜ会社名をユーザー名として使用しようとしているのですか?適切なユーザー資格情報を設定しましたが、コードをプルできました。