Jenkinsを使って自動的にnodejsアプリケーションを展開します.

3635 ワード

nodejsアプリを展開したことがある友達は皆このような経験があると思います.
1、sshでサーバに登録する
2、nodejsディレクトリに入る
3、実行:git pullコマンドは最新のコードを引き出します.
4、実行:npm install取付の新しい依存
5、実行:pm 2 retart allすべてのnodejsプロセスを再起動する
もし私達は1台のマシンしかないならば、しかも更新はそんなに頻繁ではありませんて、このような操作はまだ受け入れることができるようですが、もし私達は4台のnodejsアプリケーションのサーバーがあるならば、毎回のコード変更は災難です!
幸い、Jenkinsさんがこれらの仕事を手伝ってくれました.Jenkinsさんは自動的に遠隔配置して遠隔脚本命令を実行できるツールです.これは持続的な集積ツールと呼ばれています.私たちはdockerを通じてJenkinsサービスを迅速に構築できます.
一、dockerを取り付け、イメージを引き出して、containerを起動する.
セントロ7では、実行するだけです.
yum install docker
service docker startps-ef grep docker
centos 6では、それぞれ実行する必要があります.
yum install sudo
sudo yum install
を選択します.
y epel
を選択します.
リリース
sudo yum install
を選択します.
y docker
を選択します.
io
service docker start
ps
を選択します.
ef
𞓜
grep docker
jenkinsに入る公式dockerのミラーアドレス:
https://registry.hub.docker.com/_/jecins/
説明に従って実行します.
docker pull jeck ins
ミラーを取ったら、まずカタログを作成して、dockerのcontainerを起動します.
mkdir
を選択します.
var
を選択します.
junins.ホーム
docker run
を選択します.
d
--
name myjenkins
を選択します.
p
49001
:
8080
を選択します.
v
を選択します.
var
を選択します.
junins.ホーム
:
/var/
junins.home junins
二、nginxの取り付け
インストールしてinxを起動して、下記のコードを配置ファイルに置いて、serverノードを追加して、逆方向にdockerに代理します.
アップストリームアプリ
{
    server
127.0
...
0.1
:
49001
;
)
server
{
    listen
80
;
    server name junnkins
...
ヨール
を選択します.
domain
...
com
;
    location
を選択します.
{
        proxypass http
:
//アプリ
    }
)
このようにブラウザを開けば、私達はjecinsのトップページを見ることができます.
三、ジンケンズを配置する
私たちはまずジキンズに入る必要があります.ここで疲れていません.ヒントによって一歩ずつ完成します.
次にプラグインをインストールして、順番に入ります.
システム管理->プラグイン管理->詳細(タブ)->ボトムのすぐにボタンを取得します.
 ちょっと待ってください.使えるプラグインを更新して、次のようなプラグインをインストールします.
GIT client plugin
GIT plugin
Git server plugin
GitHub API
Plugin
GitHub
plugin
SSH
Credentials
Plugin
SSH
plugin
Publish
Over
SSH
 インストールが完了したら、再度起動します.自動的に再起動できない場合は、アドレスバーに'/resttart'を入力して、手動で再起動できます.
四、remoteコンピュータを追加する
私達のjecinsはdockerにインストールされていますので、本機に配備されても、jecinsに対してremote外部のマシンです.sshを使って接続する必要があります.私達はsshホストを追加して、jecinsを接続させます.
順次入る 
システム管理->システム設定
下図のようにremote serverを追加します.これはssh remoteプラグインを追加するサーバーです.
図はリモートコピーファイルを追加したremote serverです.
 
五、作成項目
私は今githubにnodejsのハローワールドプロジェクトを建てました.
https://github.com/DoubleSpout/jenkinsNodejs
私達はjunnkinsの中でも該当項目を作成して、順次クリックします. 
名前を付けて nodejs Publish
 プロジェクトに入り、設定をクリックして、このプロジェクトを自動的に配置することができます.
1、git倉庫の経路を設定する:
下の図のように、公共倉庫ですので、ユーザ名、パスワードを確認する必要はありません.
 
2、構築が完了したら、コードを包装して保存する.
まず下図のように、構築済みのshellスクリプトを追加して実行します.
次の図のスクリプトのようにコードを包装してワークスペースのディレクトリに移動します.
3、次に私達は配置サーバに接続し、元のサービスを一時停止し、前回の配置の圧縮パッケージを削除し、リモートshellスクリプトを追加して実行することを選択します.
 
次のシナリオを書いて、pm 2サービスを停止します.ここでは自分の要求に応じてスクリプトを一時停止することができます.
 4、最後に梱包したコードをサーバーに送信して、インストール依存パッケージ操作を実行し、nodejsサービスを起動し、sshを通じてファイルを送信してリモートサーバにコマンドを実行します.
 下の図のsource filesのデフォルトの現在のパスはworkspacesで、remote directoryの現在のパスは前にサーバーの設定を追加しました.ここで私は/var/nodejsに設定します.
下記のコマンドは簡単です.解凍コードは、依存パッケージのインストールを実行し、pm 2でnodejsサービスを起動します.
 
5、構築開始
上記のコマンドを設定したら、保存をクリックしてすぐに構築し、青いボールが現れたら、ビルド成功を表します.赤いボールはビルド失敗を表します.黄色のボールはビルドコマンドの失敗を表します.
 
構築が成功しても失敗しても、コンソール出力を見ることで構築の結果を見ることができます.
 
もし私たちが複数の設備を持っているなら、一度だけ配置して、その後コードが変更されるたびに、手動でクリックしてすぐに目標サーバに配置して、枯れ草の反復労働を免除します.もちろん他の言語、例えばpython、phpは全部このように部門に来てもいいです.