序文:数日間の勉強と私自身の理解を経て、Docker+Jenkins の自動デプロイに関するチュートリアルをまとめました。不足している点がありましたら、さらにアドバイスをお願いします。ありがとうございます! Docker の利点:
Jenkins を使用する理由:
1. Dockerをインストールする
1. uname -rコマンドで現在のカーネルバージョンを確認します。 uname -r は、 2. root権限でCentOSにログインします。 yum パッケージが最新バージョンに更新されていることを確認してください。 yum -y アップデート 3. 古いバージョンをアンインストールします(古いバージョンがインストールされている場合) yum 削除 docker docker-common docker-selinux docker-engine 4. 必要なパッケージをインストールします。yum-util は yum-config-manager 機能を提供します。他の 2 つは devicemapper ドライバーの依存関係です。 yum インストール -y yum-utils デバイスマッパー永続データ lvm2 5. yumソースを設定する yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 6. すべてのリポジトリのすべてのDockerバージョンを表示し、インストールする特定のバージョンを選択できます。 yum list docker-ce --showduplicates | sort -r 7. Dockerをインストールする sudo yum install -y docker-ce #リポジトリでは安定リポジトリのみがデフォルトで有効になっているため、最新の安定バージョン 18.03.1 がここにインストールされます 8. 起動してブートに追加 systemctl start docker //dockerを起動する systemctl enable docker //起動時に開始するように設定する 9. インストールが成功したかどうかを確認します (クライアントとサービス部分が存在する場合、Docker のインストールと起動が成功したことを示します) docker バージョン 2. DockerでJenkinsをインストールする1. リポジトリでJenkinsイメージを検索するdocker 検索 ジェンキンス
2. Jenkinsイメージをローカルイメージにプルするdocker pull ジェンキンス/ジェンキンス ここでプルされたバージョンは jenkins/jenkins であることに注意してください。これは、以前の jenkins バージョンが 2.60 のみであったため、jenkins プラグインのインストールが失敗したためです。プル時にバージョンを指定できます。たとえば、docker pull java:8 は、プルされた java バージョンが 8 であることを意味します。バージョンを指定しない場合は、デフォルトで最新バージョンになります。 3. Jenkinsコンテナを起動するdocker run --name myjenkins -d -p 8081:8080 -p 8085:8085 jenkins/jenkins –name myjenkinsはコンテナ名をmyjenkinsとして指定します
3. Jenkinsへのログインの初期化操作1. Jenkins インターフェイスにアクセスします。たとえば、仮想マシンの IP が 192.168.199.188 の場合、192.168.199.188:8081 と入力して Enter キーを押すと、次のインターフェイスが表示されます。 Jenkinsがインストールされているコンテナに入る docker exec -it myjenkins bash // 指定されたコンテナに入ります。myjenkins はコンテナを起動したときにコンテナに指定した名前を表します。cat /var/jenkins_home/secrets/initialAdminPassword` // パスワードを表示し、パスワードをコピーしてテキスト ボックスに貼り付けます。 操作図: 2. プラグインをインストールします。ここでは、Jenkins が推奨するプラグインをインストールします。 推奨プラグインをインストールするにはクリックしてください: 3. インストールが進行中です。しばらくお待ちください。インストールが完了したら、[続行] をクリックします。 4. 管理者ユーザーを作成するか、管理者アカウントを直接使用して続行します。 5. インスタンス構成が直接保存されます。 6. Jenkins の使用を開始します。 7. Jenkins ホームページにアクセスします。 4. グローバルツール構成(構成環境)システム管理 - グローバルツール構成をクリックします 1. JDK を構成する: 自動インストールをキャンセルし (JDK 環境は通常コンテナ内にインストールされます)、docker コンテナに入り、 2. Mavenの設定: 名前を指定して自動的にインストールし、「保存」をクリックします。 5. Mavenプラグインをインストールするシステム管理 – プラグイン管理をクリックします6. 自動展開を完了するための新しいタスクを作成する1.ホームページに戻り、「新しいタスク」をクリックしてMavenプロジェクトをビルドします。 2. [OK] をクリックしてホームページに戻ります。SpringBoot_AutoTest1 という追加のタスクが見つかりました (上記のタスクは前のものなので無視してください) 3. プロジェクト名SpringBoot_AutoTest1をクリック --> [構成]をクリック 3.1 ソース コード管理 (Git リポジトリ アドレスを設定すると、Jenkins がリモート リポジトリからコードをプルします): 3.2 ビルド構成 (Jenkin はコードを取得した後、パッケージ化コマンドを自動的に実行します): 3.3 シェル スクリプトを構成します (Jenkins のパッケージ化が完了すると、シェル スクリプトが自動的に実行され、プロジェクトが開始され、自動デプロイが実現されます)。その後、保存します。 添付のシェルスクリプト: #!/bin/bash # #!/bin/bash は、このスクリプトが /bin/bash を使用して解釈および実行することを意味します。このうち、#! は特別なインジケータであり、その後にこのスクリプトを解釈するシェル パスが続きます。 Bash はシェルの 1 つのタイプにすぎません。sh、csh、ksh、tcsh など、他にも多くのシェルがあります。 # #!/bin/bash は最初の行にのみ配置できます。その後に #! がある場合は、コメントとしてのみ扱われます。 #サービス名 SERVER_NAME = SpringBoot_AutotTest #ソース jar パス。mm パッケージ化が完了したら、ターゲット ディレクトリ内の jar パッケージ名を war パッケージとして選択し、war パッケージを Tomcat に移動することもできます。 JAR_NAME=jekins-0.0.1-SNAPSHOT #ターゲット パッケージは、jar パッケージのディレクトリを生成します。JAR_PATH=/var/jenkins_home/workspace/SpringBoot_AutotTest/target #特定のパッケージの場所に基づいて、プロジェクトを一度ビルドし、ログを通じてパッケージ化されたディレクトリを表示できます。#パッケージ化後、iar パッケージを jar パッケージが実行されるディレクトリに移動します。JAR_WORK_PATH=/var/jenkins_home/workspace/SpringBoot_AutotTest/target echo "クエリプロセスID-->$SERVER_NAME" PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'` echo "プロセス ID を取得: $PID" echo "プロセスを終了" $PIDのID する -9 $id を殺す echo "$id を強制終了しました" 終わり echo "終了プロセスが完了しました" #jarパッケージを実行ディレクトリにコピーします_ echo"jar パッケージを実行ディレクトリにコピーします:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH" cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH echo "jar パッケージの完全なコピー" $JAR_WORK_PATH をコピーする #ファイルの権限を変更する chmod 755 $JAR_NAME.jar # フロントデスクの起動 #java -jar $JAR_NAME.jar #バックグラウンド起動 BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar & docker+gitlab+jenkins でゼロから自動デプロイメントを構築する方法についての記事はこれで終わりです。docker+gitlab+jenkins による自動デプロイメントの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: ウェブサイトのユーザビリティを向上させる10のヒント
背景位置が背景画像の表示に与える影響この2日間のプロジェクトでホームページの写真を入れ替えていたとこ...
SQLのlike文では、例えば SELECT * FROM user WHERE username...
目次序文数独の解き方最初のボックスに記入してください2番目のボックスに記入してください3番目のボック...
目次実際の戦闘プロセスまずは主なコマンドと詳細を一つずつ説明しましょう起動が成功したかどうかを確認す...
目次1. ディレクティブカスタムディレクティブ2. ミックスイン3. 継承を拡張する4. 提供して注...
目次序文1. リスナーの基本的な使い方2. リスナー形式3. ページに入るとすぐに監視とディープモニ...
この記事では、例を使用して、MySQL クエリ ステートメントの簡単な操作を説明します。ご参考までに...
Typescript の利点については詳しく説明する必要はありません。ご興味があれば、(https:...
1. はじめにレスポンシブ Web デザインにより、Web サイトは複数のデバイスと複数の画面に同時...
この記事では、ログイン認証コードを実装するためのvue+springbootの具体的なコードを例とし...
この記事では、無限ループスクロールを実現するためのReactの具体的なコードを参考までに紹介します。...
目次LinuxでTCPを作成する手順サーバクライアントTCP確立プロセスサンプルコードLinuxでT...
1. 1.ngx_stream_proxy_moduleモジュールのproxy_passディレクティ...
2つの目的のためのリソースの結合と圧縮httpリクエストの数を減らす要求されたリソースのサイズを縮小...
deepinとUbuntuどちらもdebianをベースにしたディストリビューションであり、ここではU...