アプリケーションの展開を自動化するための最も簡単なオプションは、sshを介してインフラストラクチャホストでJenkinsスクリプトを実行することです。 しかし、1つ(または複数)のWindowsがLinuxインスタンスのフリートに実行されていたらどうでしょうか? 「敵」ホストに展開する方法-カットの下を参照してください。
Linuxだけでなく(ほとんど)Windowsにデプロイするには、FreeSSHdをインストールして、サービスとして実行する必要があります。 次に、「freeSSHd設定」ウィンドウ(システムトレイから呼び出されます)で設定する必要があります。 すべての設定/機能を説明するのではなく、基本的なものだけを説明します。リモートコマンドの実行に必要なものです。 「ユーザー」タブで、ユーザー「jenkins」を追加し、次の設定を設定します。
[SSH]タブで:
「認証」タブで、公開鍵が保存されるパスを指定する必要があります。
展開のホストの準備ができました!
次に、Jenkinsホストでキーペアを生成し、キーの公開部分をfreeSSHd設定で指定されたWindowsインスタンスのディレクトリに配置する必要があります。
すべてが正しく設定されているかどうかを確認します(Jenkinsで):
# su jenkins - $ ssh jenkins@10.1.1.160 'cmd /c dir'
ファイルのリストを取得した場合、すべては問題ありません。
デプロイメントに直接渡します。 Jenkinsで新しいジョブを作成します(「新しいジョブ」をクリックします)。 次に、名前を設定し、「フリースタイルソフトウェアプロジェクトをビルドする」を選択します。 開いた編集ページの[ビルド]セクションで、[ビルドステップの追加]をクリックし、[シェルの実行]を選択します。
ここでは、アーティファクト(この場合はgitリポジトリから)を取得するbashスクリプトを記述し、それらをJenkinsホストからWindowsインスタンスにコピーして、cmdスクリプトを実行します。
#!/bin/bash -x REPO=/path/to/local/repo/ cd $REPO git checkout git pull origin master #copy files: lftp -u jenkins,pl sftp://10.1.1.160 <<EOF mirror -R ./ bye EOF #start daemons: ssh jenkins@10.1.1.160 'cmd /c cd \DIRECTORY && script.cmd'
ここではすべてが簡単です。スクリプトはアーティファクトをダウンロードし、Windowsインスタンスにコピーし、必要なcmdスクリプトを実行します。
これらすべてのアクションの後、「Build Now」をクリックすると、アプリケーションがデプロイされるジョブがあります。
ご清聴ありがとうございました! 成功した配備!