技術的ソリューション: パイプラインは Docker コンテナを統合します

WBOY
リリース: 2022-02-09 18:16:53
転載
2716 人が閲覧しました

この記事では、パイプライン継承 Docker の使用法に関する関連知識、主に Docker コンテナーを統合するパイプラインに関連する問題について説明します。

技術的ソリューション: パイプラインは Docker コンテナを統合します

#この記事では主にパイプライン統合 Docker の使用方法について説明します。

1. 背景説明

マイクロサービス アーキテクチャは現在主流のテクノロジー選択であり、ビジネスが実装されると、多くのビジネス サービスが存在します。開発、テスト、オンラインのどのノードであっても、手動コンパイルに基づいてサービスをパッケージ化すると、運用コストが非常に高くなるだけでなく、エラーも発生しやすくなります。

パイプライン アプローチを通じて、サービス イメージの構築がワンクリック トリガーの実行に統合され、マイクロサービス アーキテクチャに必要な機能モジュールである自動管理プロセスが実現されます。

2. プロセス設計

この記事のプロセス ノードは主にパッケージ化されたアプリケーション Jar#​​## パッケージ用であり、docker モジュール内の処理フローは主にイメージ構築です。およびコンテナー操作:

    docker ファイル ディレクトリとコンテンツを構築します;
  • Jar#​​## パッケージをコピーして ## を作成します# Dockerfileスクリプト ファイル;Docker イメージの構築を実行し、クラウド ウェアハウスにプッシュします;
  • イメージ ファイルをプルし、Docker コンテナを実行します;
  • 全体のプロセスは、ローカル Jar パッケージが生成された後にパイプラインに入れて接続します。
3. 実装プロセス

1. プラグインのインストール

最初に、プロセス内で Docker によって統合された関連プラグインをインストールします:

Docker Pipeline

Docker プラグイン CloudBees Docker Hub/レジストリ通知パイプラインに関する前のセクションで、Gitee ウェアハウス コードのプルとローカル パッケージ化がパイプラインを通じて完了しました。ここで、Docker リンクの処理を開始します。

2. イメージ構築スクリプト

Dockerfile のスクリプト構文については、前の docker セクションを参照してください。パイプラインでの使用法を見てみましょう:

    environment {
        docker_directory = 'docker-app'
        docker_repository = '仓库URL'
    }
    
        stage('Dockerfile') {
            steps {
                sh '''
                rm -rf ${docker_directory}
                mkdir -p ${docker_directory}
                cp auto-client/target/auto-client-1.0-SNAPSHOT.jar ${docker_directory}/auto-client.jar
                cd ${docker_directory}
cat>Dockerfile<<EOF
FROM java:8
MAINTAINER cicadasmile
VOLUME /data/docker/logs
ADD auto-client.jar application.jar
ENTRYPOINT ["java","-Dspring.profiles.active=dev","-Djava.security.egd=file:/dev/./urandom","-jar","/application.jar"]
EOF
                cat Dockerfile
                '''
                echo "create Dockerfile success"
            }
        }
ログイン後にコピー

スクリプトの説明:

パイプラインのワークスペースにディレクトリを作成します

docker-app
    ;
  • 実行するたびに docker ディレクトリをクリアしてから、 Jar パッケージと Docker スクリプトをその中に;
  • cat-EOF-EOF: Dockerfile ファイルを作成し、中間のコンテンツを書き込みます;
  • スクリプトのコンテンツは、ファイルの先頭行に記述する必要があります。ファイル;
  • 3. パッケージ化とプッシュ
ここで、docker ディレクトリに入り、イメージのパッケージ化操作を実行し、イメージをクラウド ウェアハウスにプッシュします。認証情報を設定してアクセスします:

stage('DockerImage'){
    steps {
        script {
            dir("${docker_directory}") {
                sh 'ls'
                docker.withRegistry("${docker_directory}", '访问凭据') {
                   docker.build("doc-line-app:latest").push()
                }
            }
            echo "build DockerImage success"
        }
    }
}
ログイン後にコピー

4. 認証情報の設定

Manage Jenkins

インターフェイス、

Manage Credentials オプションを開きます;

次の構成プロセスに従ってください:

4. ソース コード アドレス

GitEE·地址
https://gitee.com/cicadasmile/butte-auto-parent
Wiki·地址
https://gitee.com/cicadasmile/butte-java-note
ログイン後にコピー
推奨学習: "

docker ビデオ チュートリアル

"

以上が技術的ソリューション: パイプラインは Docker コンテナを統合しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート