この記事では、Docker+Jenkins の自動ビルドデプロイメントを紹介し、皆さんと共有します。詳細は次のとおりです。 環境
Jenkinsを実行する Jenkinsコンテナを実行する ホスト上にディレクトリを作成し、読み取りおよび書き込み権限を追加して、Jenkins アプリケーションが実行時にファイルを読み書きできるようにします。例: $ mkdir -p /var/jenkins_node $ chmod 777 /var/jenkins_node jenkins イメージをプルします: docker run -d --name myjenkins -p 8080:8080 -p 50000:50000 -v <あなたのjenkinsパス>:/var/jenkins_home jenkins 前のディレクトリをデータ ボリュームとしてマウントします。 アカウントとSSHログインを設定する 「はじめに」インターフェースでは、初期パスワード「Jenkins のロックを解除」が必要になります。 docker ログ myjenkins # またはコンテナに入る docker exec -t myjenkins /bin/bash パスワードを取得したら、それを入力して、提案されたプラグインをインストールします。 Publish Over SSHプラグインをインストールする ホームページ -> システム管理をクリック -> プラグインの管理 -> オプションのプラグイン -> フィルター: ssh -> SSH 経由で公開プラグインを選択し、直接インストールをクリックします。 サーバーのSSH情報を設定する まずコンテナ内に RSA キーを生成します。 # ホストクライアントからコンテナに入ります。現在のコンテナ名は myjenkins です。docker ps からも表示できます $ docker exec -it myjenkins /bin/bash # コンテナに入ったら、.sshディレクトリを作成し、秘密鍵id_rsaと公開鍵id_rsa.pubの鍵ファイルを作成します。 ~ mkdir ~/.ssh && cd ~/.ssh ~ ssh-keygen -t rsa # Enterキーを押し続ける 公開鍵をホストマシンに追加し、id_rsa.pubの文字列をauthorized_keysファイルの末尾に追加します。ssh ssh-copy-id -i ~/.ssh/id_rsa.pub <ユーザー名>@<ホスト> ターゲット サーバーの ssh 構成ファイルを変更する必要があります。構成ファイルは /etc/ssh/sshd_config です。秘密鍵と公開鍵のペアを使用してログインできるように ssh-server を設定し、 秘密鍵を追加 詳細オプションでは、SSH サーバーのポートとタイムアウトを設定できます。テストはテスト可能で、構成が プロジェクト構成 まず、新しいタスクを作成します。プロジェクト名を入力します。 ビルド環境: # プロジェクトの必要に応じて記述します sudo docker stop <node> || true \ && sudo docker rm <ノード> || true \ && cd /var/jenkins_node/workspace/<ノード> \ && sudo docker build --rm --no-cache=true -t <node> - < Dockerfile \ && sudo docker run -d --name <ノード> -p 3000:3000 -v /var/jenkins_node/workspace/node:/home/project <ノード> ポートは 3000 に設定されています Dockerファイル # プロジェクトのニーズに応じてFROMノードを記述します mkdir -p /var/www/html/ を実行します。 npm install -g yarnを実行します。 ワークディレクトリ /var/www/html エクスポーズ3000 CMD ["npm","開始"] 追記: ホームページに戻り、プロジェクトを選択して、今すぐビルドします。成功すると、 Webhookの設定 API トークンを自動的にデプロイして取得するように webhook を構成します: ホーム -> ユーザー -> 現在のユーザーを選択 -> 設定 -> トークンの追加: ホーム ページに戻る -> プロジェクト -> 構成 -> ビルド トリガー -> 「リモート ビルドをトリガー」を選択 -> 「API トークン」の内容を「認証トークン」に貼り付けます Jenkins セキュリティポリシーの設定 ホーム -> システム管理 -> グローバルセキュリティの設定 -> この時点で、自動構築と展開が完了します。コードをプッシュすると、自動的にビルドされ、デプロイされます。 デプロイメントエラーの検出 コードプッシュと Webhook には大きな問題はなく、例に従えば間違いはありません。
Docker+Jenkins を使用した自動ビルドとデプロイに関するこの記事はこれで終わりです。Docker Jenkins の自動ビルドとデプロイの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MYSQL 5.6 スレーブレプリケーションの展開と監視
>>: JavaScript でシンプルな Web 時計を実装する
目次1. オブジェクトリテラル2. newキーワードはオブジェクトを作成する3. Object.cr...
この記事の例では、Appleの電卓を実装するためのJSの具体的なコードを参考までに共有しています。具...
職業的な観点からも、人生の観点からも、良い再建をすることは本当に簡単ではありません。楽観的で熱心で前...
問題の説明仕事で以下の成果を達成したいと考えています。 解決div タグに相対配置を追加し、絶対配置...
この記事では、例を使用して、MySQL クエリのソート関数とクエリ集計関数の使用方法を説明します。ご...
最近、クライアントのために印刷していたとき、ページのヘッダーを印刷するのではなく、表の内容だけを印刷...
序文現在の JavaScript には列挙の概念がありません。一部のシナリオでは、列挙を使用するとデ...
Flappy Bird は、誰もがアプリでプレイしたことがある非常にシンプルな小さなゲームです。ここ...
序文: Vue では、props を使用して、もともと分離されていたコンポーネントを直列に接続するこ...
イベントとは、クリック、マウスオーバー、ページの読み込み後にトリガーされる読み込みイベントなど、ユー...
フロントエンド開発では、Ajax、jQuery ajax、axios、fetch など、データ要求を...
目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...
目次1. 理解2. 使用1. h() パラメータ2. 使い方が簡単3. カウンターケースを実装する4...
データベース SQL の最適化はよくある問題です。何百万ものデータ ボリュームに対してページング ク...
目次1. はじめに2. 直接回復2.1 mysqldumpバックアップの完全リカバリ2.2 xtra...