クラウド効果(元RDC)は、MavenベースのJavaプロジェクトをどのように構築するか
9742 ワード
最近会社の持続的な集積アーキテクチャを1つのシステムの調整をして、調整の過程の中でRDCチームの大量の助けを受けて、だから国慶節の時間を利用していくつかのRDCの分かち合いを書いて、もっと多くの人にRDCという製品を理解して使うことを望んでいます.
私は私の最近の3ヶ月の使用の体得を5つの部分に分けます:RDCの動機を使うこと、PHPプロジェクトの集積、JSプロジェクトの集積、JAVAプロジェクトの集積、Docker類のプロジェクトの集積のこの5つの分岐を使って書きます
最近RDCの反復が頻繁なので、私の共有は比較的に浅く、点が着くまで、参考にしてください.ディレクトリ:
1、RDCはどのように我々の業務に結合するか
2、どのようにCorposerに基づくPHPプロジェクトを構築するか
3、どのようにNodeJSベースの前後端プロジェクトを構築するか
4、MavenベースのJavaプロジェクトをどのように構築するか
5、RDC+コンテナサービス持続的な統合を完成する
一、RDC基礎操作
すべてを開始する前に、RDCのいくつかの基礎操作を熟知し、プロジェクトを作成し、このプロジェクトにアプリケーションを作成し、そのアプリケーションにコードブランチを関連付ける必要があります.このように基礎の仕事は完成して、私のここはもう贅沢に述べないで、比較的に簡単なため、アリ雲のアカウントを登録するだけで、それから行きます rdc.aliyun.com 企業を作成/加入すればいいです.
本稿のすべての体験は「自由モード」の応用に基づいている.
特筆すべきは、アプリケーションコードソースが現在サポートしているのはアリクラウドのコード倉庫であり、gitlabに基づいて、アドレスは code.aliyun.comは、私の2年間の使用経験から見ると、まだ使いやすく、有料ではなく、頼りになります.
アプリケーションを作成するには、次の図のように対応する構成を選択する必要があります.
アプリケーションを作成したら、「プロジェクト」-「パイプライン」に入り、先ほど作成したアプリケーションの「同名パイプライン」を見つけます.
流水ライン名をクリックすると、具体的な流水ラインの運行状況と対応ノードが表示されます.以下の図です.
4つのパネルが表示されます:構築、日常、予発、正式.
それぞれ対応するのは、パッケージの構築、日常環境へのパブリッシュ、プレリリース環境へのパブリッシュ、本番環境へのパブリッシュです.
RDCはアプリケーションを作成するときに自動的に標準テンプレートのパイプラインを生成しますが、私たちは一般的に使用しません.そのため、パイプラインを修正し、無駄なノードを除去し、自分の構成を追加する必要があります.画面上の「編集ライン」ボタンをクリックすると、修正画面に入ります.
まず構築から開始するので、日常、プリリリース、正式の3つの導入ノードを一時的に削除し、構築ノードのみを保持します.以下の配置はしばらく調整しません.削除が完了したら、流水ラインを保存すればいいです.効果は以下の通りです.
これで基礎的な準備が完了し,次はコードの構築作業を開始する.
次の作業を開始する前に、コードをローカルに再git pullしてください.RDCサービスによって自動的に生成されるプロファイルが表示されます.xxx.release このファイルは非常に重要です.このファイルを使用してパーソナライズされた構築を完了する方法について説明します.
二、Mavenに基づくJavaプロジェクト構築
Javaクラスプロジェクトは一般にmavenによってサードパーティライブラリを維持し、mavenによって構築されるため、RDC構築時にダウンロードおよびコンパイルに依存する関連作業を完了する必要がある.
前の章で述べたxxx.releaseを見つける必要があります ファイル、xxxはあなたのアプリケーション名を表しているので、私がここで見たファイル名は:ms-autotags.release
このファイルの構成仕様は次のように参照できます.https://help.aliyun.com/document_detail/59293.html
このファイルを開くと、事前に定義された構成がいくつかあります.
上記の構成は使用できません.次のように変更する必要があります.
↓↓↓↓構成説明:
代表はjavaをコード言語タイプとして使用します.以下の列挙をサポートします(RDCは常に更新されているので、公式に準じてください):
php5.6,php7.0,node6.x,node7.x,node8.x,oracle-jdk1.7,oracle-jdk1.8, oracle-jdk1.9,scripts
jenkinsを使用したことがある学生がいる場合は、RDCの構築はDockerコンテナ技術によって実現され、環境を構成したjenkinsコンストラクタと同様に、RDCチームは様々な言語に対して構築宿主として異なるミラーを用意していることを理解しておくべきである.
3.2.5バージョンのmavenを使用します.
生成物を指定します.ディレクトリであってもよいし、jarパッケージやwarパッケージなどの具体的なファイルであってもよいです.コンストラクションの実行後にこのディレクトリ、ファイルが存在しない場合は、コンストラクションに失敗し、ワークフローの次のループにアクセスできません.
単純なmavenプロジェクトではbuild.commandを設定する必要はありません.特別なmavenパッケージパラメータを設定する必要がないか、複数行のパッケージコマンドがある場合を除きます.
アプリケーションの作成+パイプラインの修正を完了しました.では、構築を一度実行してみます.「パイプラインを実行」ボタンをクリックするだけで、実行後数秒待ってページをリフレッシュします.効果は以下の通りです.
実行時間、バージョン番号、ログ、オペレータなどの情報が表示されます.
構築に失敗した場合、構築プロセスである-ログ詳細パネルで具体的なエラーの原因を見ることができ、ログの並べ替えは難しくないが、RDCの構築はブラックボックスに偏っているため、できるだけ熟練しているか、ローカルで関連コマンドを走ってからxxx.releaseファイルにアップロードしてRDC構築を行うことができる.
初期のバージョン番号は、v 0.0.1-1であり、構築に失敗した場合、バージョン番号はv 0.0.1-3、v 0.0.1-8、v 0.0.1-18、v 0.0.1-Nになります.
もしあなたの流水線の全流れが終わったら、自動的に小さなバージョン番号を重ねてv 0.0.2-1になるので、この構築方法ははっきりしていて、まだ使いやすいです.
三、Dockerミラーとして出力する方法
コードのパッケージングとコンパイルを完了しました.次に、完全なコードをDockerミラーにカプセル化する必要があります.xxx.releaseファイルを次のように変更する必要があります.
単純な構築に対してDockerミラーを生成する必要がある場合は、いくつかの構成項目を追加する必要があります.
dockerfileファイルの場所とファイル名を指定します.デフォルトはルートディレクトリのDockerfileファイルです.
あなたのdockerミラーウェアハウスを指定して、アリクラウドが提供するウェアハウスを使うことを提案して、無料で、スピードが速くて、docker hubの内容を加速することができて、シームレスにRDCサービスをドッキングして、住所は dev.aliyun.com ,ここのxxxはあなたの名前空間に対応し、abcedはあなたのミラー名に対応しています.
ここではdockerミラーのtag名を指定し、環境変数を使用してつなぎ合わせます.
${PACKAGE_LABEL}はパケット名を表し、このパラメータは流水ライン構成で変更でき、デフォルトはdefaultです.
${TIMESTAMP}は現在のタイムスタンプを表し、フォーマットは20171008224350のようです.
一部のプロジェクトでは、1つのコードが複数のdockerミラーを生成する可能性がある場合、tag名を動的に生成し、上書きを防止し、ロールバックを容易にする必要があります.
リファレンスの構築については、次の文書を参照してください. https://help.aliyun.com/document_detail/59297.html
ここで最終的に生成されるtag名は、次のようになります. ci-default-20171008224350
最終的には、倉庫名とミラー名を組み合わせて、ミラーtagアドレスが次のように生成されます.
registry.cn-hangzhou.aliyuncs.com/xxx/abced:ci-default-20171008224350
四、後記
NodeJSコンストラクション+Dockerコンストラクションはここまでですが、主にRDCを紹介するためなので、Dockerセクションでは重点的に説明しています.Dockerfileファイルの作成方法は自分で勉強してください.
Dockerミラーに出力した後、RDCを使用してコンテナに配置する方法については、個別に記事を開きます.
文章原文出典:qipangzi.com(個人ブログ)
私は私の最近の3ヶ月の使用の体得を5つの部分に分けます:RDCの動機を使うこと、PHPプロジェクトの集積、JSプロジェクトの集積、JAVAプロジェクトの集積、Docker類のプロジェクトの集積のこの5つの分岐を使って書きます
最近RDCの反復が頻繁なので、私の共有は比較的に浅く、点が着くまで、参考にしてください.ディレクトリ:
1、RDCはどのように我々の業務に結合するか
2、どのようにCorposerに基づくPHPプロジェクトを構築するか
3、どのようにNodeJSベースの前後端プロジェクトを構築するか
4、MavenベースのJavaプロジェクトをどのように構築するか
5、RDC+コンテナサービス持続的な統合を完成する
一、RDC基礎操作
すべてを開始する前に、RDCのいくつかの基礎操作を熟知し、プロジェクトを作成し、このプロジェクトにアプリケーションを作成し、そのアプリケーションにコードブランチを関連付ける必要があります.このように基礎の仕事は完成して、私のここはもう贅沢に述べないで、比較的に簡単なため、アリ雲のアカウントを登録するだけで、それから行きます rdc.aliyun.com 企業を作成/加入すればいいです.
本稿のすべての体験は「自由モード」の応用に基づいている.
特筆すべきは、アプリケーションコードソースが現在サポートしているのはアリクラウドのコード倉庫であり、gitlabに基づいて、アドレスは code.aliyun.comは、私の2年間の使用経験から見ると、まだ使いやすく、有料ではなく、頼りになります.
アプリケーションを作成するには、次の図のように対応する構成を選択する必要があります.
アプリケーションを作成したら、「プロジェクト」-「パイプライン」に入り、先ほど作成したアプリケーションの「同名パイプライン」を見つけます.
流水ライン名をクリックすると、具体的な流水ラインの運行状況と対応ノードが表示されます.以下の図です.
4つのパネルが表示されます:構築、日常、予発、正式.
それぞれ対応するのは、パッケージの構築、日常環境へのパブリッシュ、プレリリース環境へのパブリッシュ、本番環境へのパブリッシュです.
RDCはアプリケーションを作成するときに自動的に標準テンプレートのパイプラインを生成しますが、私たちは一般的に使用しません.そのため、パイプラインを修正し、無駄なノードを除去し、自分の構成を追加する必要があります.画面上の「編集ライン」ボタンをクリックすると、修正画面に入ります.
まず構築から開始するので、日常、プリリリース、正式の3つの導入ノードを一時的に削除し、構築ノードのみを保持します.以下の配置はしばらく調整しません.削除が完了したら、流水ラインを保存すればいいです.効果は以下の通りです.
これで基礎的な準備が完了し,次はコードの構築作業を開始する.
次の作業を開始する前に、コードをローカルに再git pullしてください.RDCサービスによって自動的に生成されるプロファイルが表示されます.xxx.release このファイルは非常に重要です.このファイルを使用してパーソナライズされた構築を完了する方法について説明します.
二、Mavenに基づくJavaプロジェクト構築
Javaクラスプロジェクトは一般にmavenによってサードパーティライブラリを維持し、mavenによって構築されるため、RDC構築時にダウンロードおよびコンパイルに依存する関連作業を完了する必要がある.
前の章で述べたxxx.releaseを見つける必要があります ファイル、xxxはあなたのアプリケーション名を表しているので、私がここで見たファイル名は:ms-autotags.release
このファイルの構成仕様は次のように参照できます.https://help.aliyun.com/document_detail/59293.html
このファイルを開くと、事前に定義された構成がいくつかあります.
#
code.language=scripts
#
deploy.appctl.path=deploy.sh
# Docker push
docker.repo=registry.cn-hangzhou.aliyuncs.com/xxx/abced
上記の構成は使用できません.次のように変更する必要があります.
# , ,
code.language=java
# JDK
baseline.jdk=jdk-1.8
# maven
build.tools.maven=maven3.2.5
#
build.output=target/ms-autotags-1.0-jar-with-dependencies.jar
# , ,
# deploy.appctl.path=deploy.sh
↓↓↓↓構成説明:
code.language=java
代表はjavaをコード言語タイプとして使用します.以下の列挙をサポートします(RDCは常に更新されているので、公式に準じてください):
php5.6,php7.0,node6.x,node7.x,node8.x,oracle-jdk1.7,oracle-jdk1.8, oracle-jdk1.9,scripts
jenkinsを使用したことがある学生がいる場合は、RDCの構築はDockerコンテナ技術によって実現され、環境を構成したjenkinsコンストラクタと同様に、RDCチームは様々な言語に対して構築宿主として異なるミラーを用意していることを理解しておくべきである.
build.tools.maven=maven3.2.5
3.2.5バージョンのmavenを使用します.
build.output=target/ms-autotags-1.0-jar-with-dependencies.jar
生成物を指定します.ディレクトリであってもよいし、jarパッケージやwarパッケージなどの具体的なファイルであってもよいです.コンストラクションの実行後にこのディレクトリ、ファイルが存在しない場合は、コンストラクションに失敗し、ワークフローの次のループにアクセスできません.
単純なmavenプロジェクトではbuild.commandを設定する必要はありません.特別なmavenパッケージパラメータを設定する必要がないか、複数行のパッケージコマンドがある場合を除きます.
アプリケーションの作成+パイプラインの修正を完了しました.では、構築を一度実行してみます.「パイプラインを実行」ボタンをクリックするだけで、実行後数秒待ってページをリフレッシュします.効果は以下の通りです.
実行時間、バージョン番号、ログ、オペレータなどの情報が表示されます.
構築に失敗した場合、構築プロセスである-ログ詳細パネルで具体的なエラーの原因を見ることができ、ログの並べ替えは難しくないが、RDCの構築はブラックボックスに偏っているため、できるだけ熟練しているか、ローカルで関連コマンドを走ってからxxx.releaseファイルにアップロードしてRDC構築を行うことができる.
初期のバージョン番号は、v 0.0.1-1であり、構築に失敗した場合、バージョン番号はv 0.0.1-3、v 0.0.1-8、v 0.0.1-18、v 0.0.1-Nになります.
もしあなたの流水線の全流れが終わったら、自動的に小さなバージョン番号を重ねてv 0.0.2-1になるので、この構築方法ははっきりしていて、まだ使いやすいです.
三、Dockerミラーとして出力する方法
コードのパッケージングとコンパイルを完了しました.次に、完全なコードをDockerミラーにカプセル化する必要があります.xxx.releaseファイルを次のように変更する必要があります.
# , ,
code.language=java
# JDK
baseline.jdk=jdk-1.8
# maven
build.tools.maven=maven3.2.5
#
build.output=target/ms-autotags-1.0-jar-with-dependencies.jar
# Docker
docker.file=Dockerfile
# Docker push
docker.repo=registry.cn-hangzhou.aliyuncs.com/xxx/abced
docker.tag=ci-${PACKAGE_LABEL}
# , ,
# deploy.appctl.path=deploy.sh
単純な構築に対してDockerミラーを生成する必要がある場合は、いくつかの構成項目を追加する必要があります.
docker.file=Dockerfile
dockerfileファイルの場所とファイル名を指定します.デフォルトはルートディレクトリのDockerfileファイルです.
docker.repo=registry.cn-hangzhou.aliyuncs.com/xxx/abced
あなたのdockerミラーウェアハウスを指定して、アリクラウドが提供するウェアハウスを使うことを提案して、無料で、スピードが速くて、docker hubの内容を加速することができて、シームレスにRDCサービスをドッキングして、住所は dev.aliyun.com ,ここのxxxはあなたの名前空間に対応し、abcedはあなたのミラー名に対応しています.
docker.tag=ci-${PACKAGE_LABEL}-${TIMESTAMP}
ここではdockerミラーのtag名を指定し、環境変数を使用してつなぎ合わせます.
${PACKAGE_LABEL}はパケット名を表し、このパラメータは流水ライン構成で変更でき、デフォルトはdefaultです.
${TIMESTAMP}は現在のタイムスタンプを表し、フォーマットは20171008224350のようです.
一部のプロジェクトでは、1つのコードが複数のdockerミラーを生成する可能性がある場合、tag名を動的に生成し、上書きを防止し、ロールバックを容易にする必要があります.
リファレンスの構築については、次の文書を参照してください. https://help.aliyun.com/document_detail/59297.html
ここで最終的に生成されるtag名は、次のようになります. ci-default-20171008224350
最終的には、倉庫名とミラー名を組み合わせて、ミラーtagアドレスが次のように生成されます.
registry.cn-hangzhou.aliyuncs.com/xxx/abced:ci-default-20171008224350
四、後記
NodeJSコンストラクション+Dockerコンストラクションはここまでですが、主にRDCを紹介するためなので、Dockerセクションでは重点的に説明しています.Dockerfileファイルの作成方法は自分で勉強してください.
Dockerミラーに出力した後、RDCを使用してコンテナに配置する方法については、個別に記事を開きます.
文章原文出典:qipangzi.com(個人ブログ)