ジェンキンス+ Pythonの+ GitLab継続的インテグレーション

タスクを作成します。

ログインJenkinsの左側のリストをクリックしてください新建オプション。タスク名を入力し、選択し构建一个自由风格的软件项目、クリックしてください确定

コンフィギュレーション

では任务配置インターフェース、あなたが設定できるオプション、設定をしてGeneral标签丢弃旧的构建保持构建的天数保持构建的最大个数

クリックして源码管理選択し、タブgitで、Repository URL入力リンクのGitリポジトリ。

HTTPリンクする場合は、選択しCredentialsた行のAdd > Jenkins中で、Kindラインドロップダウン選択Username with password、下記UsernameおよびPasswordユーザー名とパスワードボックスを入力します。

ドッカーは、SSHキーを使用してコンテナ内ジェンキンス。
サーバーを直接使用するssh keyことに。あなたは指定した場合Path to key、使用する必要性場合あなたが使用する必要があるコンテナをするので、相対パスがローカルパス、これに硬化していないパス。dockerssh keySource filesdockerkeySource filesdocker

場合はSSH、リンク、選択SSH Username with private keyUsername、ユーザー名]ボックスに入るPrivate Keyよう選択Enter directlyの表示keyプライベートキーボックス。(秘密鍵が生成されssh-keygen -t rsa -C "email.com"、中に結果のファイルhomeディレクトリ.sshディレクトリでは、コマンドを使用するcat id_rsaにコピーされた秘密鍵、表示するkeyボックス)。以下の下をクリックしてAdd設定を保存するボタンをクリックします。

Credentials、ドロップダウンメニュー作成した選択しますUsername

定期的なタスクを使用します

构建触发器タグ選択Poll SCM、入力H/2 * * * *、そして最後にクリックしてください保存
タスクの実装に更新場合、これは、時限タスク、クエリ・コードごとに2分です。

ウェブフックを使用してください

定期的なタスクを使用するよりも、場合にのみ、指定された操作またはプッシュ、ジェンキンスするコードを引っ張るアクセスのないタイミング、リソースを大量に消費するウェブフックより良いウェブフック。

あなたがプラグインをインストールする必要があるGitlab Hook、GitLab、Gitlab Authentication、Build Authorization Token Root
設定をjobして、构建触发器チェックBuild when a change is pushed to GitLab. GitLab CI Service URL: http://服务器IP:8080/project/demoURLコールバックアドレスに続いて、クリックし高级て、[ Secret tokenOK]をクリックしGenerate、生成token

GitLab項目を対応するサーバSettings内のIntegrations、設定webhook、中ジェンキンスで入力取得をURL、そしてtoken、必要に応じてチェックイベント、オープンSSLとして、クリックAdd webhookウィルAdd webhook次のボタンを生成しwebhook、クリックしtest、イベントのポップアップチェック、イベントを選択し、トップにポップアップ表示されHook executed successfully: HTTP 200、これは、webhook設定は完了です。

注:スクリプトの使用docker exec実行コンテナコマンドは指定されていない場合-it-t指定されたtty、とjenkinsいいえtty、あなただけ指定する必要があり-iます。

図1は、リモートサーバにコードを展開します

SSHキーコンテナを使用しません。
主に発生ジェンキンスサーバssh-keygen -t rsa -C "email.com"
使用ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip(22ポートでない場合、パラメータが追加されてもよい-p port変更するportポート値)を、ターゲットサーバに格納されて生成された公開鍵。この無料のログインパスワード。

インストールPublish over SSHプラグインを系统管理- > 系统设置内部見つけますPublish over SSH
コンフィギュレーションJenkins SSH Keyキーパスワードが生成に設定されている場合は、ちょうどPassphraseなしそれは無視され、パスワードを入力します。
プライベートコピー、ペーストにKey内部。

設定SSH Serversをクリックします增加NameSSHの名前は、HostnameリモートサーバーのIPアドレスは、Usernameログインユーザ名、Remote Directoryリモートサーバー上のディレクトリは、実数でなければなりません、プラグインが自動的に作成されていません。

クリックしてTest Configuration、テスト構成が成功しました。成功が表示されますSuccess

1.1リモート展開タスク

そして、建物のタスクの実行時にタスクがトリガーされ、ビルドタスクを作成します。

またはをクリックし新建、タスクの名前を入力し、クリックしない构建一个自由风格的软件项目コピーボックスの下部にあるタスク名をトリガー、先ほど作成を入力してください。
クリックします确定タスク名を入力した場合は、エラーが存在し、もう一度再入力することができません。

构建触发器選択Build after other projects are built、他の構築するプロジェクトが完了した後に行うProjects to watch最初のタスクは、エラーの可能性があります選択しNo such project ‘gol’. Did you mean ‘golismero’?、それは単一のタスクであれば、それは問題ではありません、あなたが最終的な表面に置くことができ,、それは削除しないで、文句はありませんカンマや削除された領域をもインパクト。
次のことを確認しTrigger only if build is stable、建物が安定しているときにのみトリガ。

その他の設定、构建后操作增加构建后操作步骤ポップアップオプションが選択されSend build artifacts SSH、入力SSH Server Name(リモートホストIP)、その後に入力されたスクリプトコマンド、他のオプションは、一時的に記入する必要はありません。TransfersExec command

Source files基準としworkspaceた場合、プロジェクトディレクトリの下のディレクトリ、それは相対的なディレクトリは、あるworkspaceディレクトリが、jenkins作業ディレクトリ、あなたが記入する必要がある**/作業ディレクトリのフォルダ内のファイルまたはファイルを続けることができ、。

Remove prefixディレクトリのファイルのコピーをフィルタリングします。

Remote directoryファイルは、リモートマシン上のディレクトリに、このディレクトリはに相対し得る存在していないが自動的に作成された場合、。SSH ServerRemote directory

保存し、あなたがトリガータスクを表示し、タスクを構築することができます。

展開することができる別の方法があります

2 SSHプラグインの展開

この方法では、インストールする必要があるSSHプラグインを。

クリックCredentials- > System- > Add domainDomain Name、名前を入力しますDescription説明、書き込みに時間から書き込みをSpecificationデフォルトのままAdd、クリックしてくださいok新しいページでは、左上のをクリックしAdd Credentials、リモートログインを入力UsernameしてPasswordをクリックOK
クリック系统管理- > 系统设置を見つけるためにSSH remote hosts、設定SSH siteをクリックし增加、入力しHostnameたホストIP、Portリモートポートを(通常は22)、Credentialsちょうど選択を作成Domainし、Username同じクリックCheck connection、表示Successfull connection、成功した、クリックしてください保存

2.1リモート展開タスク

そして、基本的には1.1同じですが、これはある构建增加构建步骤ポップアップオプションが選択されExecute shell script on remote host using ssh、デフォルトが自動的に記入しますSSH site(に充填されていない場合は、前の可能性誤りが存在しない場合かどうかを確認するために入力ボックスをクリックして)、赤誤りがあるかもしれないSSH Site not specified、ではありません管理。ではCommand、入力ボックスのshellスクリプト。保存それはすることができます。

最初にこのように構成されていない否や。

メールの設定

あなたは、インストールすることができEmail Extension Plugin、プラグイン、拡張機能、メールボックス機能を。

左側をクリック系统管理して、管理Jenkins列クリックし系统设置、新しいページを見つけ、Jenkins Location中に系统管理员邮件地址送信者の列の書式を入力し标题<email.com>、[検索邮件通知とクリック高级追加するボタンをSMTP服务器、だけでなく、電子メールのサフィックス(@xxx.com)、使用してSMTP認証されたユーザー名は、完全な電子メールアカウントですパスワードは認証コードです。(テンセントマイクロバインド設定で文字場合はEメール-レターマイクロバインディング- 。クライアント固有のパスワード、認証コードは、設定を保存)を使用してチェックしSSL、プロトコル、SMTPポートを465Reply-To Address受信者のアドレスを入力してください。

プレミアムメール通知

あなたはインストールする必要がありEmail Extension、プラグイン、インストールをクリック系统管理- > 系统设置を見つけるためにExtended E-mail Notification、構成するSMTP serverサーバーを、フォーマットsmtp.exmail.qq.com(ここでは例として、テンセントEメールで)。

Default user E-mail suffixメールサフィックスを設定し、@文字があるの背後にあります@xxx.com

Default Content Type送信されるデフォルトのコンテンツタイプを選択しますHTML/(text/html)

Default Recipients既定の受信者は、中間体と、複数の受信者に提供することができる,仕切り、英語の状態の象徴。

Default Subjectデフォルトのテーマを変更しないでください、あなたはまた、例えば、上部にいくつかのテキストを追加することができます构建通知

Default Contentデフォルトのテンプレートは、テンプレートは、インターネットの変更に見つけることができ、また、あなた自身、htmlのタイプを記述することができ、があります。

上記をクリックし高级、ボタンをチェックしUse SMTP Authentication、タイプUsernamePasswordPasswordあることをクライアント認証とパスワードを配置邮件確認し、同じ認証コードでSSLクリックし、保存

シングルとしてJob増加し构建后步骤
選択Editable Email Notificationで、Project Recipient List受信者のメールボックス内の受信者の入力リスト、あなたが複数使用できる,部門を、グローバルなデフォルト設定を使用するかは、使用することができます$DEFAULT_RECIPIENTS

Project Reply-To List人々のリストには、デフォルト値を返すことが許さ$DEFAULT_REPLYTO

Content Typeドキュメントタイプを設定することができますHTML

Attach Build Log送信されたメッセージは、ログが含まれています。

クリックAdvanced Settingsで、Triggers削除し、Sent ToデフォルトをDeveloper Listクリックし、Add追加Recipient List完了するために、保存し、。

おすすめ

転載: www.cnblogs.com/zzhaolei/p/11067999.html