ホームページ >バックエンド開発 >PHPチュートリアル >[LNMP 自動統合] Jenkins を使用した PHP 継続的統合 - 自動化されたコード検査、分析、単一ケースのテスト

[LNMP 自動統合] Jenkins を使用した PHP 継続的統合 - 自動化されたコード検査、分析、単一ケースのテスト

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:13:461632ブラウズ

継続的インテグレーションで問題を解決


  1. 統合テストコードリリース
  2. コード自動テスト
  3. マルチマシン自動デプロイ

ツール選択


    統合ツール jenkins 公式ウェブサイト http://jenkins-ci .org /
  1. ビルドツール phing 公式サイト http://www.phing.info/
jenkins+php インストール (Linux 環境、デフォルト php5.3)

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keyyum install jenkinsyum install javayum install java-1.6.0-openjdkyum install phpyum install php-develyum install php-pearyum install re2cyum install php-pecl-imagickyum install php-domyum install php-pear-phingyum install php-phpunit-PHPUnityum install php-phpunit-phpcpdpear channel-discover pear.phpmd.orgpear install --alldeps phpmd/PHP_PMD

jenkins の設定と起動


service jenkins startchkconfig jenkins on

jenkins の設定

jenkins によってインストールされる拡張機能 (オンライン Web 拡張機能のインストール)
ロール戦略 (ロールベースの権限管理) SSH 経由で公開プラグイン (SSH 経由でコードを公開) Phing (php ビルド ツール) PMD (コードの静的検査) PlotJDependDRY

ロールの権限管理に基づいています

ロール戦略プラグインを使用して権限管理を実装し、以下で設定します: システム管理-->ロールの管理と割り当て

プロジェクトプレフィックス + 定期的なマッチングを通じて、プロジェクトグループの権限管理は次のことができます。

ssh経由でコードを公開(パスワード入力不要)
    本番マシン、つまり実際にプログラムを実行するマシン上にユーザー本番マシンを作成し、jenkinsデプロイメントマシンからアップロードされたコードをssh経由で受け取る
    useradd jenkins_publisher
  1. 公開マシン、つまり Jenkins が配置されているマシンで公開鍵と秘密鍵を生成します
    keygen -t rsa   (全部选择是)然后在 /root/.ssh/ 能够找到公私钥
  2. 公開鍵を公開マシンに送信します
    1.将 发布机上的 /root/.ssh/id_rsa.pub 传送到 生产机的 /home/jenkins_publisher/.ssh/2.将 id_rsa.pub 改名为 authorized_keys3.将 authorized_keys 设置为 jenkins_publisher 所有
  3. 運用マシン上にプログラム ディレクトリ
    【首次部署】创建对应的 程序包目录: mkdir -p /data/svn_data/chown -R jenkins_publisher /data/svn_data/(根据实际部署环境)【每次应用部署】创建对应的 web程序目录: mkdir -p /data/www/***  (根据实际部署环境)更改目录的所有者:  chown -R  jenkins_publisher /data/www/***
    を作成します
  4. Jenkins の設定パスワードを使用しない方法で ssh ソースを作成し (上記の手順で生成された秘密キーをコピーします)、ログイン アカウントは次のとおりです: jenkins_publisher
  5. 運用マシンへの公開

新しい jenkins プロジェクト

ビルド ファイル テンプレート
ビルドの追加.shell)

ディレクトリ構成をリリース

コードをリリース

コードを svn に更新

Jenkins のプロジェクトで、「Build Now」を操作します

このビルドコンソールの出力を確認すると、通常のステータスは次のようになります
  1. ビルド結果
  2. ロールバックをリリース

SVN上のコードを以前の安定したバージョンにロールバックしてコミットします(ローカルファイルをロールバックするだけではなく、コミットする必要があります)

コードを再ビルドします

データロールバック
  1. 2015/02作成
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。