ジェンキンスCLI与ジェンキンスのssh

ジェンキンスCLIは紹介
ジェンキンスジェンキンスCLIへのCLIツールは、このツールが提供する、非常に強力ですが、このようなジェンキンスを再起動するように行うことができ、ジョブの作成/削除、ビューのジョブコンソール出力、追加/削除ノードと他の機能を、実際の仕事、作成などのこの構成タスクは、Web管理インターフェイスの操作に直接として、非常に難しい明確CLIですが、再起動ジェンキンスためのより便利な、診断情報を表示、手動ビルドタスクなどを実行し、Web管理インタフェースの操作を入力するよりも、直接CLIで使用される。そうするときCLIを使用したWeb管理インタフェース、それは彼らの能力を高めるのに役立ちますかどうか、生産性の向上に資するがあるかどうかに依存し、それはこれらの指標の自動化レベルのチームを向上させることができますかどうか、CLIにつながる高レベルのブラインドの使用に代わって、CLIを使用したとは思いません減少または増加した効率の問題。

CLI CLIを作成するには、ジェンキンスジェンキンスCLI缶ジャー環境が提供するパッケージまたはSSHクライアントを使用して行う、このセクションでは、それらを個別に紹介します。

彼らのクライアントは、CLIジェンキンスを使用して実行
私たちは、オープン・ジェンキンスのインストールディレクトリ、戦争\ WEB-INFディレクトリに移動し、このディレクトリはジェンキンスに、CLI環境を作成するために使用されジェンキンス-cli.jarファイルを、持っている。我々はしていますその出力ヘルプ情報を見ることができますます。java -jarジェンキンス-cli.jarのヘルプを実行し、コマンドラインツールのディレクトリを開き、

$ java -jar jenkins-cli.jar help
Neither -s nor the JENKINS_URL env var is specified.
Jenkins CLI
Usage: java -jar jenkins-cli.jar [-s URL] command [opts...] args...
Options:
 -s URL              : the server URL (defaults to the JENKINS_URL env var)
 -http               : use a plain CLI protocol over HTTP(S) (the default; mutually exclusive with -ssh)
 -ssh                : use SSH protocol (requires -user; SSH port must be open on server, and user must have registered a public key)
 -i KEY              : SSH private key file used for authentication (for use with -ssh)
 -noCertificateCheck : bypass HTTPS certificate check entirely. Use with caution
 -noKeyAuth          : don't try to load the SSH authentication private key. Conflicts with -i
 -user               : specify user (for use with -ssh)
 -strictHostKey      : request strict host key checking (for use with -ssh)
 -logger FINE        : enable detailed logging from the client
 -auth [ USER:SECRET | @FILE ] : specify username and either password or API token (or load from them both from a file);
                                 for use with -http.
                                 Passing credentials by file is recommended.
                                 See https://jenkins.io/redirect/cli-http-connection-mode for more info and options.

The available commands depend on the server. Run the 'help' command to see the list.

URLを指定するには、-sオプションを見ることができ、URLはURLジェンキンスWeb管理インターフェースがあり、今の環境をテストして、URLはhttp:// localhostを:8080、もちろん、また、あなたのユーザー名とパスワードを入力する必要があり、CLIを実行したいですここ-authオプションでユーザー名とパスワードを指定します。

私たちは、次のコマンドを形成するために一緒に情報を入れて

java -jar jenkins-cli.jar -s http://localhost:8080 -auth tylerzhou:密码 help

Enterをクリックし、すべてのジェンキンスの簡単な説明は、実行可能なコマンドとコマンドをcliを見ることができます。ここでは、いくつかは、より一般的にコマンドを使用することができるされています

  1. リストジョブは、ジェンキンスさんは見た開口部ジェンキンスWeb管理インタフェースのホームのように、仕事のすべてに記載されていることができます。

次のコマンド

java -jar jenkins-cli.jar -s http://localhost:8080 -auth 您的账户:您的密码 list-jobs

パスワード+コマンドを実行すると、:アカウント-auth 8080:// localhostを:ジェンキンスCLIコマンドごとに実行する必要上のjava -jarジェンキンス-cli.jar -s HTTPを持参する、ことを注意唯一のラインではない環境を入力した後、コマンドを入力してください。

  1. ジョブ名を構築するには、ビルド+ビルドCLIによってトリガすることができます。

成功を構築した後、我々は、Web管理インターフェイスは、複数の建物を見ることができます開きます。

私たちの仕事のほとんどが自動化されたプロセスはgitに基づいていますが、時々、でいくつかの仕事を達成するためにいくつかの手動スクリプトの自動化を実行する必要があるが、CLIコマンドの建物は、非常に便利なコマンドです。もしたびに開くWeb管理インターフェース明らかに良いような高効率のCLIを実行するために手動で実行しないように。

  1. 再起動/安全な再起動サービスはジェンキンスを再起動することができ、あなたは安全な再起動を確認することができ、その名前で再起動しても安全である、それはすべての操作が完了するまで待機してから再起動を行います

  2. クリアキューをクリアビルドキュー。友人とジェンキンスがない実践的な経験は、自分の理由を知ることができないか、ジェンキンスによる不十分なバグ、時には閉塞ビルドジェンキンスの原因に我々のテストスクリプトは、状態の建物にあったが、この時点で、完了することができませんクリックWeb管理インターフェースは、注文を滞在しようとする試みで、この時点でキャンセルすることはできませんビルドにキャンセル。もちろん、それはまだサービスを再起動するために暴力restartコマンドを使用するには、この時間が必要で終了することはできません。

使用トークンの着陸

私たちは、上記のすべてのユーザ名です:暴露クリアテキストのパスワードが望ましくないのでことを、CLIの方法でログインするためのパスワード、実際には、ジェンキンスCLIはまた、ユーザー名ことができます:ここで着陸CLI apitokenを達成するために、我々はどのようにセットAPIに5つの方法をご紹介します。トークン。

私たちはオープンジェンキンスWeb管理インターフェース、人々の左にあるボタンをクリックし、インタフェースはインタフェースが表示され、インターフェイスを入力して[設定]ボタンをクリックして、ユーザー自身のログイン名ジェンキンスをクリックし、その後、複数のユーザーでもリストに表示されます見つけアピトークンバー、それはトークンが生成されます、そして生成]をクリックし、任意の名前にすることができ、トークンの名前を入力し、小さな画面があるだろうトークンを生成新しいトークンを追加します。この時間をクリックして
、このトークンを取り、その後ダウンコピーする必要があります注意を彼はそれを見ることができないとき、次のオープンを見つけるために、他の場所に保存します。

完了したら、[保存]をクリックします。

この時点では、CLIで次のコマンドを入力します。

java -jar jenkins-cli.jar -s http://localhost:8080 -auth tylerzhou:11f52cef1324556a41d966083ffcf0ac1b

どのtylerhzouユーザー名、作成したばかりのトークン我々の背後にあります

成功した場合、ジェンキンスの全てに上記のコマンドの出力は、コマンドをcliを。

別のファイルに保存されたコマンド情報は
、我々は実際には、我々はファイルの認証情報をファイルに保存することができ、非常に長い、真剣にコマンドの読みやすさに影響を与えているコマンドラインにつながるトークン着陸を使用する方法を見ることができます。Iジェンキンスインストールディレクトリ/以下のように、戦争/ WEB-INFディレクトリにpassword.txtという名前のテキストファイルを作成します

tylerzhou:11f52cef1324556a41d966083ffcf0ac1b
上記そのユーザ名、認証を入力します。apitoken

その後、我々は土地を達成するための方法で-authオプション@ファイル名を指定して、ユーザ名(パスワードまたはトークン)ファイルを指定します。

コードは以下の通りです

java -jar jenkins-cli.jar -s http://localhost:8080 -auth @password.txt

@ PASSWORD.TXTの背中の上に私たちが作成したパスワードファイルであります

CLIを実行ジェンキンスにログインするSSH

ジェンキンスのログインに使用するSSHはデフォルトで、設定する必要があります使用にランダムなポート番号ジェンキンスSSHDポートで、これはSSHの着陸を使用して、明らかにsshログインを助長されていません我々は、明示的にポート番号を知っておく必要があり、我々はジェンキンスを管理開くどのくらいです>グローバル設定セキュリティは、固定されたカットにSSHサーバーフィールド、デフォルトのランダムオプションを見つけ、別のポート番号を入力して、私はコンフィギュレーションの保存16022クリックを使用しています。ポートが設定され、我々はまた、現在のユーザープロファイルエントリに公開鍵を追加する必要があります我々はここでSSH公開鍵を生成するコピーし、現在のユーザー・インターフェースを入力し、APIトークン上の着陸に我々が設定しapitokenが、SSH公開鍵のオプションを見つけるために、プルダウンしていないこの時間を参照してください。についてSSH鍵を生成するを参照してください前の章に関するその他の情報、ここではそれらを繰り返すありません。

終了後、我々は、SSH道経由でコマンドを実行することができます。

次のコマンドを入力します。

ssh -l tylerzhou -p 16022 localhost help

我々はジェンキンスを上陸させた際に、ユーザーアカウントを指定した。-L
設定が成功した場合は、上記のコマンドは、すべてのコマンドとジェンキンスの簡単な説明が一覧表示されます。

相互に参照できるように、上記のコマンドが実行するSSHコマンドは、ジェンキンス、cli.jar実行されます。

シンプルなためジェンキンスCLIパッケージ
を使用バットシンプルなパッケージは
非常に疲れて、CLIツールまたはssh上で実行することにより、常にいくつかの固定のログイン情報を持参する必要があるかどうかを、見ることができ、我々はシンプルなパッケージを作ることができるので、毎回コマンドを入力する必要がない、各固定コンテンツの再入力を不要になっただけ

私たちは、コウモリカプセル化されたコマンドに入れて、コマンドがあります

@echo off
cls
:start
set /p arg="请输入您的命令: "
java -jar jenkins-cli.jar -s http://localhost:8080 -auth @password.txt %arg%
goto start

その後、最初のラベルを生産開始を作成するために、上記のコマンド、その後、入力コマンドにユーザを促し、ジェンキンスCLIツールへの入力後に普及し、ラベルを開始ジャンプするgoto文を実行します。上記のコマンドを繰り返し、あなたはにプレスCtrl + Cに必要を終了したいです終了

PowerShellのスクリプト・パッケージを使用する
ため、バットの作者には、非常に熟練していない、と次のようにので、より激しい複雑なスクリプトの感触を書くことができ、実行状態、終了オプションを表示するには、clear画面をサポートするためのPowerShellパッケージを使用することについてあった、スクリプトが読み

[System.Console]::ForegroundColor=[System.ConsoleColor]::Green
 $writeout= 
  "  退出请按1或者输入exit
  清屏请按2或者输入cls或者clear
  查看执行状态请按3
  查看帮助请输入help
  查看提示信息请按4"
  Write-Host $writeout
[System.Console]::ForegroundColor=[System.ConsoleColor]::White

while ($true) {
$myvar=Read-Host "请输入命令 "
if(($myvar -eq 1)-or($myvar -eq "exit")){break}
elseif (($myval -eq 2) -or ($myvar -eq "cls") -or($myvar -eq "clear")) {
    Clear-Host
}
elseif ($myvar -eq 3) {
    if($LASTEXITCODE -eq 0){
      Write-Host "执行成功"
    }else{
        [System.Console]::ForegroundColor=[System.ConsoleColor]::Red
        Write-Host "执行失败"
        [System.Console]::ForegroundColor=[System.ConsoleColor]::White
    }
}
elseif($myvar -eq 4){
[System.Console]::ForegroundColor=[System.ConsoleColor]::Green
Write-Host $writeout
[System.Console]::ForegroundColor=[System.ConsoleColor]::White
}
else {
   java -jar jenkins-cli.jar -s http://localhost:8080 -ssh -user tylerzhou $myvar.split(" ")
}
}

私たちは、あなたがスクリプトを実行することができ、PS1ファイルを作成し、アカウントに上記をコピーして、指示に従ってください。

窓の問題はないのsshクライアント

いくつかの子供用の靴着陸のsshの上記の方法に従って行っているときのウィンドウ10の最新バージョンのみ(すべてではないバージョンが持っている)ので、sshは、見つからないコマンドラインプロンプトコマンドで入力することができる。幸い、ジェンキンス-CLI .jarもsshの着陸方法を提供します。我々は、次のコマンドを入力します。

ます。java -jarジェンキンス-cli.jar -sます。http: // localhostを:8080 -ssh -user tylerzhouヘルプが
着陸上記のsshの方法の方法を指定し、-userを指定して、あなたはあなたが私たちを接続するためにsshを使用することができ、ポートを指定する必要はありません。あなたは、閉じたメソッドを使用することができますが、繰り返し、固定コンテンツを入力維持する必要はありませんので、単純にそれを閉じて、上記の。

公開された33元の記事 ウォンの賞賛0 ビュー3924

おすすめ

転載: blog.csdn.net/erhaiou2008/article/details/103973851