ホームページ > バックエンド開発 > PHPチュートリアル > ジェンキンスのインストールとセキュリティ

ジェンキンスのインストールとセキュリティ

Jennifer Aniston
リリース: 2025-02-19 12:58:11
オリジナル
784 人が閲覧しました

ジェンキンスのインストールとセキュリティ

今年の初めに、PHP-CIに関する記事を書きました。これは、PHPプロジェクトの継続的な統合ツールとして使用できます。この記事の中で、私はジェンキンスがまだCIツールとして最も好きだったことを示しました。ジェンキンスに飛び込み、PHPプロジェクトのためにこれをセットアップする方法を確認する時間です。

キーテイクアウト

Jenkinsは、Web、ソフトウェア、モバイルアプリケーションなど、さまざまなアプリケーションの継続的な統合に使用できる多用途ツールです。それは多くのオプションと可能性を提供し、新しいユーザーにとって潜在的に圧倒的です。 Ubuntu ServerにJenkinsのインストール14.04 LTSには、特定のコマンドを実行してJenkinsリポジトリのキーをシステムに追加し、JenkinsをSources.Listファイルに追加し、最後にJenkinsをインストールします。インストールしたら、Jenkinsには、URLの最後にポート8080を追加することで、ブラウザからアクセスできます。 Jenkinsの保護は、不正アクセスを防ぐために重要です。これには、セキュリティの領域を有効にし、ユーザーデータベースを作成し、ユーザーが許可なくサインアップするオプションを無効にし、マトリックスベースのセキュリティまたはプロジェクトベースのマトリックス認証戦略を使用して承認を設定します。 PHPプロジェクトのためにJenkinsの準備には、いくつかのプラグインをインストールしてテンプレートの作成が含まれます。プラグインは、レポートの分析やグラフに変換するなどのタスクを実行します。 Sebastian Bergmannによって作成されたテンプレートは、新しいプロジェクトを構成するプロセスを簡素化します。
  • ジェンキンスの紹介
  • ジェンキンスが提供しなければならないもののリストは、それが持っているリッチなプラグインシステムのために巨大です。基本的に、Jenkinsは、あらゆる種類の異なるツールとプラグインを結び付けてレポートを作成するツールです。たとえば、phpunitを実行し、時間の経過とともにグラフで結果を表示できます。 PHP -Lを実行して、PHPコードがエラーを確認できます。ただし、Jenkinsにプロジェクトを構築し、ZIPファイルを出力してもらうこともできます。これを使用してアプリケーションの展開に使用できます。これの利点は、完全なZIPファイルを取得して、制作サーバーでComposerやNPMなどのツールを実行することなく、制作アプリケーションをアップグレードすることです。
  • ジェンキンスは、さまざまなアプリケーションに使用できます。 PHPで記述されたWebアプリケーションにも使用できますが、Javaまたはその他の言語で記述されたソフトウェアおよびモバイルアプリケーションにも使用できます。これにより、ジェンキンスは非常に用途の広いツールになり、多くの異なるプロジェクトを処理する企業にとって非常に興味深いものになります。
  • ジェンキンスには非常に多くの選択肢と可能性があるため、人々がそれを使い始めるのは圧倒的に見えます。この一連の記事の中で、私たちはゆっくりとジェンキンスに向かいます。インストールとセットアップから始めます。その後、プロジェクトの分析を続けます。最後に、製品の品質を確認するために使用できる他の多くのプラグインを詳しく見ていきます。

    主にPHPコードの品質に焦点を当てますが、最終的には、PHP。 Jenkinsのインストール

    一般的なオペレーティングシステムにJenkinsをインストールできます。この記事では、Ubuntu Server 14.04 LTSにJenkinsをインストールします。別のオペレーティングシステムを使用している場合は、ここでオペレーティングシステムごとのインストール手順について確認できます。 UbuntuにJenkinsをインストールするには、このコマンドを実行することが最も簡単な方法です。

    ただし、UbuntuのリポジトリにあるJenkinsをインストールしています。 Jenkins自体は、Jenkinsリポジトリから直接インストールすることを提案しています。まず、リポジトリのシステムにキーを追加します。

    <span>sudo apt-get install jenkins</span>
    ログイン後にコピー
    ログイン後にコピー
    次のコマンドを実行して、jenkinsをSources.listファイルに追加します。

    ジェンキンスをインストールする準備が整いました。
    <span>wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -</span>
    ログイン後にコピー
    ログイン後にコピー

    終了すると、ジェンキンスはサーバーに正常にインストールされます。
    <span>deb http://pkg.jenkins-ci.org/debian binary/</span>
    ログイン後にコピー

    ポート8080をURLの最後に追加して、ブラウザを介してジェンキンスに連絡できるようになりました。私のサーバーがci.myserver.comという名前であると想像してみてください。ci.myserver.com:8080でJenkinsに連絡できます。

    sudo apt-get update
    <span>sudo apt-get install jenkins</span>
    ログイン後にコピー

    Jenkinsの確保

    最初に気付くべきことは、ジェンキンスが完全に開いていることです。今このURLに行く人は誰でも、あらゆる種類の異なるタスクを実行できるため、最初にやろうとしていることは、それを確保することです。まず、サイドバーメニューのJenkinsの管理をクリックします。ジェンキンスからの通知に迎えられる場所、CIサーバーを保護することをお勧めします。

    ジェンキンスのインストールとセキュリティ

    [セットアップ]ボタンをクリックして続行します。次のページでは、マークを有効にして、チェックされたセキュリティチェックボックスを有効にします。次の手順は、ジェンキンスから簡単に閉じ込めることができるため、正しく従うために重要です。これが発生した場合、これらの手順に従って再びアクセスすることができます。

    最初にする必要があることは、セキュリティの領域を設定することです。最も簡単なのは、Jenkins自身のユーザーデータベースの前にチェックボックスをマークすることにより、Jenkinsに独自のユーザーデータベースを持たせることです。ユーザーのサインアップオプションが有効になっていることを確認してください。 [保存]をクリックして、構成を保存します。

    ページの右上隅にサインアップリンクが表示されるようになりました。このリンクをクリックしてフォームに入力してサインアップします。完了したら、新しく作成したアカウントでログインします ジェンキンスのインストールとセキュリティ[Jenkinsの管理]をクリックしてセキュリティ設定に戻り、[グローバルセキュリティの構成]をクリックします。ここで、ユーザーが[チェック]チェックボックスのサインアップを許可して、許可なしに新しいアカウントを作成できないことを確認する必要があります。

    次に、承認を設定します。最良のオプションは、マトリックスベースのセキュリティまたはプロジェクトベースのマトリックス認証戦略です。これにより、ユーザーごとに実行でき、実行できないアクションを設定できます。後者のオプションを選択した場合、プロジェクトごとにこれを設定することもできます。とりあえず、私はマトリックスベースのセキュリティを選択します。

    アクセス許可を備えたテーブルが表示されるようになりました。匿名のユーザーができることを定義できるテーブルの行は1つだけです。ただし、独自のユーザーアカウントにアクセス許可を設定する必要があります。そのため、下のボックスにユーザー名を入力し、[追加]をクリックします。すべてにアクセスできるようにするには、すべてを確認できます。

    最終的には、これがどのように見えるかです。

    ジェンキンスのインストールとセキュリティ

    注:大文字の文字に注意してください。ピーターとピーターは2つの異なるユーザーアカウントですので、どちらの場合も正しいユーザー名に記入してください。

    保存すると、自動的にログアウトされます。ログインフォーム以外は何も表示されないことに注意してください。ログインした後、以前のようなすべてにアクセスできるはずです。許可エラーが発生した場合、間違いを犯し、設定を変更するか、Jenkinsからロックアウトされたかのいずれかです。後者の場合、上記のリンクを参照してください。 Jenkinsの準備

    これまでのところ、私たちはジェンキンスのインストールと保護に忙しかったです。今度は、PHPプロジェクトの構築と分析を開始できるように、Jenkinsを構成する時が来ました。 Sebastian Bergmannは、PHP用のJenkinsのセットアップ方法を示す優れたWebサイトを作成しました。ドキュメントと同じ手順を実行する予定ですが、少し異なる順序で行います。 プラグインのインストール

    まず、いくつかのプラグインをJenkinsにインストールする必要があります。プラグインは、レポートの分析とグラフに変換するなど、タスクを実行できるJenkinsの小さな拡張機能です。開始するには、次のプラグインのリストが必要です。

    checkStyle

    cloverphp

    crap4j
    • 乾燥
    • htmlpublisher
    • jdepend
    • プロット
    • pmd
    • 違反
    • xunit
    • インターフェイスを介してこれらのプラグインをインストールします。コマンドラインを経験豊富または快適に感じる場合は、このドキュメントをチェックして、コマンドラインを介してそれらをインストールする方法を確認できます。また、そのページは、すべてのプラグインが何をするかについての短い説明を提供します。 Jenkins内で、Jenkinsを管理し、プラグインを管理します。使用可能なタブをクリックします。ここでは、利用可能なすべてのプラグインの完全なリストが表示されます。右上隅にフィルターを使用すると、すべてのプラグインをすばやく検索できます。チェックボックスをチェックして、上記のプラグインの完全なリストをインストールしてください。
    • インストールが完了したときに再起動ジェンキンスの前にチェックボックスをチェックし、すべてが完了したときにジェンキンスを再起動するためのジョブが実行されていません。再起動後、必要なすべてのプラグインが正しくインストールされました。

      テンプレートの作成

      ジェンキンスがセットアップされると、通常、ジョブと呼ばれるプロジェクトを作成することから始めます。プロジェクトは通常、あなたが得た1つのPHPプロジェクトです。プロジェクト内では、いくつかのビルドがあります。特定の瞬間にコードを分析(ビルド)するようにJenkinsを構成できます。これは、たとえば、貢献者からのスケジュール間隔またはプルリクエストでのスケジュールされています。したがって、プロジェクトには時間の経過とともにいくつかのビルドが含まれており、それぞれがコードの個別の分析です。インストールしたプラグインのおかげで、それらのビルドの結果を素敵なグラフで見ることができます。これらのグラフ内で、特定のビルドがプロジェクトの品質を増加または低下させた場合、すぐに見つけることができます。また、すべてのツールに従ってコードを改善するために必要な場所を確認できます。

      新しいプロジェクトを作成できるようになりました。ただし、このプロジェクトを構成する必要もあります。たとえば、phpunitが実行されるたびに、コードカバレッジページを作成して、どのコードがテストされ、どのコードがテストされていないかを確認できるように設定できます。新しいプロジェクトで構成する必要がある多くのテストがありますが、これは時間がかかる可能性があります。幸いなことに、Sebastian Bergmannは、使用するテンプレートも作成しました。 このテンプレートをインストールできるようにするには、コマンドラインを開く必要があります。最も簡単な方法は、Jenkinsが提供するCLIツールをダウンロードすることです。しかし、問題は、ジェンキンスのインストールを以前に確保したという事実です。これは、セキュリティを匿名に戻すか、パブリック/秘密鍵をアカウントに接続する必要があることを意味します。

      この場合、テンプレートをインストールする代替方法を目指しています。まず、コマンドラインでユーザーJenkinsとしてログインして、ホームディレクトリに移動します。

      ホームディレクトリ内で、ジョブディレクトリに移動し、php-templateという名前の新しいディレクトリを作成します。

      このディレクトリを入力して、構成ファイルを追加します。

      次に、その構成をリロードするにはJenkinsが必要です。これを行うには、Webインターフェイスに戻り、[Jenkinsの管理]をクリックして、ディスクからのリロード構成をクリックします。 Jenkinsは、その構成をリロードします。完了したら、メインの概要ページにPHP-Templateプロジェクトが表示されます。
    <span>sudo apt-get install jenkins</span>
    ログイン後にコピー
    ログイン後にコピー

    <span>wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -</span>
    ログイン後にコピー
    ログイン後にコピー
    ジェンキンスは準備ができました。このテンプレートに基づいて新しいプロジェクトを作成できます

    結論

    この記事には、PHPプロジェクトの分析を開始するために、Jenkinsをインストール、固定、準備しました。次のパートでは、プロジェクトを追加し、準備し、もちろん分析します。Jenkinsのインストールとセキュリティに関するよくある質問(FAQ)

    ジェンキンスを確保するためのベストプラクティスは何ですか?

    ジェンキンスの保護にはいくつかのステップが含まれます。まず、ジェンキンスが限られた特権で独自のユーザーアカウントで実行されていることを確認して、セキュリティ違反の場合に潜在的な損害を最小限に抑えます。次に、グローバルセキュリティセクションを構成してセキュリティを有効にし、認証用のセキュリティレルムを選択します。第三に、マトリックスベースのセキュリティまたはプロジェクトベースのマトリックス認証戦略を使用して、許可を使用します。第4に、すべてのJenkinsプラグインとJenkinsコアが常に最新であることを確認してください。最後に、データの損失を防ぐためにJenkinsのセットアップを定期的にバックアップします。 ​​ジェンキンスのセキュリティを有効にして、Jenkinsの管理を操作してグローバルセキュリティを構成します。有効なセキュリティボックスを確認してください。アクセス制御セクションで、認証のためのセキュリティ領域を選択します。 Jenkinsは、Jenkins自身のユーザーデータベース、LDAPなどを含むいくつかのオプションを提供します。ユーザーまたはグループごとに異なるアクセス許可を指定できます。ユーザーまたはグループが実行できるアクションを細かく制御できます。それを使用するには、ロールベースの承認戦略プラグインをインストールする必要があります。

    ジェンキンスプラグインとコアを最新の状態に保つにはどうすればよいですか?プラグインとコアを更新します。 Jenkinsの管理> [プラグインの管理]> [更新]タブに移動します。ここでは、インストールされているプラ​​グインの利用可能な更新を見ることができます。 Jenkins Coreを更新するには、Jenkinsの管理> [プラグインの管理]> [[アドバンス]タブの管理] [[更新]セクションの[今すぐチェック]ボタンをクリックします。 Jenkinsのセットアップをバックアップすることは、データの損失を防ぐために重要です。 Thinbackupプラグインを使用して、Jenkinsセットアップをバックアップできます。バックアップのスケジュールとバックアップからの復元を可能にします。

    Jenkinsユーザーアカウントの特権を制限するにはどうすればよいですか?

    Jenkinsユーザーアカウントの特権を制限し、新しいユーザーアカウントを作成し、特に新しいユーザーアカウントを作成します。ジェンキンスを走らせます。このユーザーアカウントには、SUDO特権がないか、システムにログインすることができません。ジョブごとに異なるアクセス許可を指定できるマトリックスベースのセキュリティの拡張。ユーザーまたはグループが実行できるアクションに対してさらに細粒の制御を提供します。 Jenkinsにロールベースの承認戦略プラグインをインストールするにはどうすればよいですか?

    ロールベースの認証戦略プラグインをインストールし、Jenkinsの管理>プラグインの管理> [利用可能な]タブを管理します。ロールベースの承認戦略プラグインを検索し、選択し、再起動ボタンなしでインストールをクリックします。認証。ユーザーの認証方法を決定します。 Jenkinsは、Jenkins自身のユーザーデータベース、LDAPなどを含むいくつかのオプションを提供します。 Jenkinsを管理するためにナビゲート>グローバルセキュリティの構成。 CSRF保護セクションで、Cross Cross Site Request Forgery Exploitsボックスを確認し、デフォルトのCrumb発行者を選択します。

以上がジェンキンスのインストールとセキュリティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート