top aws devops tools
最高のAmazonAWS DevOpsツール:パイプライン 、 ソースコードリポジトリ、ビルド、デプロイ アマゾンウェブサービスで
私がソフトウェアのキャリアを約20年以上前に始めたとき、あらゆる種類の開発と展開のためのインフラストラクチャ(ソフトウェアとハードウェア)を調達する必要がありました。
これには、サーバーのベンダーへの注文、同じものが得られるまで一定の時間待機、配信されたサーバースペースの予約、サーバーのインストール、オペレーティングシステム、ストレージ構成などが含まれます。また、心配する必要がありました。パフォーマンス、可用性(24 * 7)、メンテナンス、ネットワークなど。
これは、アプリケーションの開発と展開のアクティビティのためにサーバーを立ち上げるのに非常に多くの労力を要しました。
学習内容:
クラウドコンピューティングの進化
クラウドコンピューティングの進化に伴い、状況は変化しなければなりませんでした。つまり、インターネットを介してすべてのアプリケーションとデータベースにアクセスできます。したがって、クラウドコンピューティングプロバイダーは、Webアプリケーションの実行に必要なすべてのハードウェアを維持します。
アプリケーションをホストするために必要な適切な構成のすべてのリソースは、クリックするだけで利用できます。開発者がリソースを利用できるようにするための時間が大幅に短縮されます。最も重要なことは、使用する必要があるものに対してのみ支払うことです。
クラウドベースのサービスを使用する開発者の焦点は、プロジェクトで作業するために必要なものだけであり、インフラストラクチャの可用性について心配する必要はありません。私はクラウドコンピューティングの種類(IaaS、PaaS、SaaS)に触れていませんが、インターネット上でそれらが何であるかを説明するために利用できる情報がたくさんあります。
多くのクラウドプロバイダーがあります。しかし、私が一緒に仕事をした中で最も人気のある3つは次のとおりです。
- アマゾンウェブサービス
- Microsoft Azure
- Google Cloud
このセクションでは、次のツールに焦点を当てます。 パイプライン 、 ソースコードリポジトリ、ビルド、デプロイ と アマゾンウェブサービス 。チームはまだJenkins、Git、MavenなどのDevOpsツールを使用していることを忘れないでください。
そのため、チームが資産やアーティファクトをクラウドインフラストラクチャに移動したい場合でも、統合/移行を可能な限り使用して、ツールやデータへの既存の投資を最大化する必要があります。
クリック ここに AWSと、アーキテクト、開発者、SysOPS向けのさまざまなサービスについて学びます。上記のツールには無料のアカウントを使用しますが、もちろん、実稼働環境では、使用するサービスを調達する必要があります。
AWSツールを使用したビルドとデプロイ
ビルドとデプロイの観点から、次のAWSサービスを見ていきます。
xboxoneのvrはありますか
- AWS CodePipeline
- AWS CodeCommit
- AWS CodeBuild
- AWS CodeDeploy
1. AWS CodePipeline
AWS CodePipelineは、エンドツーエンドの配信プロセスを視覚的に確認するのに役立つJenkinsパイプラインに似ています。
したがって、CodePipelineでは、通常、次のように構成します。
- ソースコードリポジトリ –したがって、ソースコードはAWSCodeCommitまたはGitHubリポジトリのいずれかにある必要があります。
- ビルドサービス – AWS CodeBuildの詳細は、パイプラインの一部として構成されます。
- デプロイ – AWSCodeDeployがパイプラインに設定されます。
- さまざまな環境への展開プロセス中に、承認が必要な場合は、それらも構成できます。
したがって、開発者によるコード変更があった場合、ビルドとデプロイの視覚的表現は自動化されているように見えます。
AWSCodePipelineでのソースコードリポジトリの設定
Mavenビルドを使用するAWSCodePipelineでのビルド構成
AWSCodePipelineでのデプロイ構成
完全な実行はAWSCodePipelineに表示されます
2. AWS CodeCommit
AWS CodeCommitは、プライベートGitリポジトリをホストする安全なオンラインバージョン管理サービスです。チームは独自のバージョン管理リポジトリを維持する必要はありません。代わりに、AWS CodeCommitを使用して、ソースコード、またはビルドから生成されたWAR / JAR / EARファイルなどのバイナリを保存します。
AWS CodeCommitを使用すると、リポジトリを作成し、すべての開発者がそれをローカルマシンに複製し、ファイルを追加して、AWSCodeCommitリポジトリにプッシュバックします。 AWSCodeCommitリポジトリで標準のGITコマンドを使用します。
ために 例えば。 AWS CodeCommitリポジトリがローカルマシンに複製されたら、「git pull」、「git add」、「git commit」、「gitpush」などのコマンドを使用します。
例示的なAWSCodeCommitの空のリポジトリが作成されました
リポジトリをローカルマシンに複製します
AWSCodeCommitリポジトリに追加されたファイル
3. AWS CodeBuild
これまで見てきたように、ソースコードやその他のプロジェクト成果物はAWSCodeCommitリポジトリに保存されています。
継続的インテグレーションを実装するには、JenkinsのようなAWS CodeBuildは、ビルド仕様に基づいて構成されたAWSCodeCommitまたはGitHubリポジトリからソースコードの最新の変更をフェッチします YAMLファイル (buildspec.ymlとして作成)コマンドは、インストール、ビルド前、ビルド、ビルド後の4つのフェーズに基づいて実行されます。
ビルドが完了すると、アーティファクト(WAR / ZIP / JAR / EAR)はS3バケットであるAWSストレージに保存されます。
サンプルbuildspec.ymlファイル
version: 0.2 phases: install: commands: - echo Nothing in the install phase... pre_build: commands: - echo Nothing in the pre_build phase... build: commands: - echo Build started on `date` - mvn clean install post_build: commands: - echo Build completed on `date` artifacts: files: - target/HelloWorld-Maven.war
サンプルAWSCodebuildプロジェクト
ビルドの成功
S3バケットにコピーされたアーティファクト(WARファイル)
4. AWS CodeDeploy
名前が示すように、AWS Codedeployは、Amazon EC2 LinuxまたはWindowsインスタンスへのアプリケーション(この場合はWARファイル)のデプロイを自動化するデプロイサービスです。
AWS CodeBuildを使用して完了したアーティファクトがS3バケットに保存されたため、アーティファクトはS3バケットから取得され、AWSEC2インスタンスプロビジョニングでアプリサーバーTomcatやJBossなどに適切にデプロイされます。
AWS CodeDeployは、EC2インスタンスへのデプロイに関する指示が含まれているappspec.ymlと呼ばれるYAMLファイルに依存しています。
index.htmlファイルがコピーされてApacheサーバーにデプロイされるサンプルappspec.ymlファイル
version:10.0 os:linux files: -source: /opt/deploy/index.html destination:/var/www/html/ hooks: BeforeInstall: -location:scripts/before_install runas:niranjan AfterInstall: -location:scripts/restart_server runas:niranjan
before_install 脚本
restart_server 脚本
AWSCodeDeployの実行に必要なすべてのファイルのGitHubリポジトリ
AWSCodeDeployでのデプロイの実行
JenkinsとAWSサービスの統合
前述のように、最近のチームは事実上のCIツールとしてJenkinsを使用しており、ほとんどの場合、Jenkinsから離れたくはなく、前述のAWSサービスと統合したいと考えています。関係する特定の手順があり、統合のスクリーンショットを示しましたが。
1.JenkinsとAWSCodeCommitの統合
2.JenkinsとAWSCodeBuildの統合
3.JenkinsとAWSCodeDeployの統合
AWS DevOpsスタックのためにすべてをまとめる:
スタックは、上記で説明したAWSサービスを以下で探します。
このチュートリアルを願って、ツール パイプライン 、 ソースコードリポジトリ、ビルド、デプロイ アマゾンウェブサービスで、あなたに役立ちました。