[フレーム]
1 - 40 件 / 55件
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
はじめにソースコードの管理にBacklogのGitリポジトリ、CI/CDにAWS CodePipelineを用いたかったのですが、CodePipelineの送信元にBacklogは指定出来ません。なの...
はじめに おはようございます、もきゅりんです。 CodePipeline は使いたいのだけど、どんなデプロイフローにするか迷ってるといったことを聞くことがあります。 本稿では、CI/CDツールを CircleCI でも GitHub Actions でもなく、CodePipeline を前提として、そして代表的と思われる Git フローでどのように考えるかをまとめてみました。 諸事情と背景があって、基本的には AWSのサービス限定で CI/CDを利用したいというケースはよくあると思います。そういった状況に限定して、かつ、よくある環境セット、一般的なステージを利用した CodePipelineの CI/CDを想定しています。 とりあえず検討してみる材料にでもなれたら幸いです。 なお、どのタイプの Gitブランチフローが一番使いやすいとかそういう話はしません (できません)。 想定とする方 C
準備 CodeCommitに以下をプッシュします。 なお、CodePipelineによる自動デプロイではファイル上書きデプロイを設定できないので、必要に応じて appspec.ymlで元のファイルを削除するように対応します。 ソースコード(index.html, hello.conf) appspec.yml (本稿では beforeInstall.sh を利用) ちなみに、index.html や hello.conf の素材は こちら を使っています。 参考 ## appspec.yml version: 0.0 os: linux files: - source: ./hello.conf destination: /etc/nginx/conf.d/ - source: ./index.html destination: /usr/share/nginx/html/ hooks:
Amazon Web Services ブログ GitHub モノレポを AWS CodePipeline と統合して、プロジェクト固有の CI/CD パイプラインを実行する (この記事は、Integrate GitHub monorepo with AWS CodePipeline to run project-specific CI/CD pipelines を翻訳したものです。) AWS CodePipeline は、ソフトウェアのリリースに必要なステップをモデル化、可視化、自動化できる継続的デリバリーサービスです。AWS CodePipeline を使用して、コードを構築し、稼働前の環境にデプロイし、アプリケーションをテストし、実稼働環境にリリースするまでの完全なリリースプロセスをモデル化できます。AWS CodePipeline は、コードが変更されるたびに定義されるワークフロー
AWS DevOps & Developer Productivity Blog Multi-Region Terraform Deployments with AWS CodePipeline using Terraform Built CI/CD As of February 2022, the AWS Cloud spans 84 Availability Zones within 26 geographic Regions, with announced plans for more Availability Zones and Regions. Customers can leverage this global infrastructure to expand their presence to their primary target of users, satisfying
はじめに テントの中から失礼します、IoT 事業部のてんとタカハシです! Lambda のバージョニングとエイリアスを活用することで、Blue-Green デプロイの構成を実現することができます。実サービスの本番環境にリリースを行った際、何か問題が発生した場合に、元のバージョンへ切り戻せる構成になっていると非常に安心感があります。 今回は上記の記事を参考にして、GitHub リポジトリでのマージをトリガーに、CodePieline から Lambda を Blue-Green デプロイする構成について CDK で構築します。 尚、本記事で記載する全てのソースコードは、下記のリポジトリでも確認することができますので、必要に応じてご参照いただければと思います。 GitHub - iam326/lambda-blue-green-deploy-by-cdk 環境 $ sw_vers Produc
AWS DevOps & Developer Productivity Blog Secure and analyse your Terraform code using AWS CodeCommit, AWS CodePipeline, AWS CodeBuild and tfsec Introduction More and more customers are using Infrastructure-as-Code (IaC) to design and implement their infrastructure on AWS. This is why it is essential to have pipelines with Continuous Integration/Continuous Deployment (CI/CD) for infrastructure depl
はじめまして、技術本部 サービス開発部の上島です。 私はSansanのプロダクトの裏側でデータ統合の役割を担う「名寄せシステム」の開発に携わっています。 今回は、その名寄せシステムのEC2で稼働しているRailsアプリのデプロイの仕組みを、CodePipeline+CodeDeploy+CodeBuildを使った仕組みに移行して、デプロイ環境を改善した取り組みについて、紹介したいと思います。 名寄せシステムとは 関連のある名刺データを統合することで、顧客情報を一元管理できるようにしたり、世の中の様々なビジネスデータを収集し、名刺に紐づけることで、名刺の価値を高めるシステムです。 Ruby(Rails)で開発しており、AWSの利用サービスは EC2、RDS(Aurora MySQL)、S3、ElastiCache(Redis)などがあり、一般的な構成のアプリケーションです。 独自のデプロイシ
概要 会社で aws を触ることになり、基本から学んでいこうと思ったため備忘録として記事を書き始めました。 今回は 有名な Blue/Green デプロイ に関する概要説明の後 CodePipeline と ECS を使用して 自分の PC 内の Next アプリケーションを Blue/Green デプロイして Web 上に公開してみます 🌀 もし理解が違うよというところ等ありましたら優しく教えて頂けると幸いです 🙇♀️ Blue/Green デプロイ とは Blue/Green デプロイとは、アプリケーションのデプロイをダウンタイム無しに行うことができるデプロイ手法のことです。 下の図をご覧ください。 旧アプリケーションから新アプリケーションにアプリケーションの移行を行いたかったとします。 もし Blue/Green デプロイを行わなかった場合旧アプリケーションを新アプリケーション
はじめに 本記事では、CodeCommitで管理する単一リポジトリ(モノレポ)において、 変更されたディレクトリに応じて、実行するCodePipelineを振り分けるCIパイプラインをTerraformで構築する方法について記載しています。 Terraform で構築する全体構成図 構成の概要 Systems Managerの Parameter Storeには、リポジトリ内のディレクトリ名と実行する CodePipeline名がJSON形式で格納されています。 開発者がCodeCommit のリポジトリにコードをプッシュすると EventBridgeがリポジトリの変更イベントを検知してLambda関数をトリガー実行します。 Lambda関数は、Systems Managerのパラメータを読み取って、変更があったディレクトリに応じたCodePipeline を実行します。 変更があったディ
はじめに 今年の10月に株式会社LITALICOに入社しました@i-kです。SREチームに所属しています。 この記事は『LITALICO Advent Calendar 2020』2日目の記事です。 前職でCI/CDパイプラインを設計・構築した際にCodePipelineを使おうとして苦労した話を書いていこうと思います。 CodePipelineとは フルマネージドのCI/CDサービスです。 リポジトリサービスのCodeCommitやビルドサービスのCodeBuild、デプロイサービスのCodeDeployやAWS以外のCIツール等と連携してデプロイフローを構築することができます。ソースにはGitHubやCodeCommit以外にECRやS3、Bitbucketを指定できます。 AWSのサービスなので当たり前なのですが他のAWSサービスと親和性が高いです。 手動承認ステージが作れたり、Cl
はじめに 初めまして。現在、新卒1年目でグーホームチームに所属しているプロトソリューションの川崎です。 今回は業務でAPIサーバーのCI/CDを構築する業務があり、その中で得た知見を書いていこうと思います。 環境 【筆者ローカル環境】 ・Windows ・WSL(コントリビューション:Ubuntu-20.04) ・Docker 20.10.23 【使用した主なAWSサービス】 ・CodeCommit ・CodeBuild ・CodePipeline ・Elastic Container Registry ・Elastic Container Service(ECS on Fargate) この記事で分かること CodePipelineを使用した、ECS on Fargateにおける開発環境・本番環境における各環境変数の設定方法が分かります。 今回紹介する方法以外にも環境変数の設定の仕方は様
Amazon Web Services ブログ サードパーティの Git リポジトリから AWS CodePipeline のビルドステータスを追跡する (この記事は、Tracking the AWS CodePipeline build status from the third-party Git repository を翻訳したものです。) AWS CodePipeline では、パイプラインのソースとしてサードパーティの Git リポジトリを使用できますが、ビルドステータスをサードパーティ Git リポジトリダッシュボードで確認できない場合があります。開発者がリポジトリで作業する場合、同じダッシュボードでビルド/パイプラインのステータスを確認できることが望ましいです。このブログでは、パイプライン/ビルドステータスをサードパーティのリポジトリに反映するソリューションの構築手順を説明し
参考:私にはどのタイプのパイプラインが適していますか? - AWS CodePipeline なお以下の設定画面の通り、CodePipelineのパイプラインタイプは、パイプライン作成後でも切り替える事が可能なようです。 本記事ではパイプラインレベル変数について試してみます。 V1タイプでもアクションレベル変数は使用可能ですが、以下の通り使用できる変数は決まっています。 参考:可変 - AWS CodePipeline これらの変数以外で、自身でカスタマイズした変数を使用したい場合、今回のアップデートで追加されたパイプラインレベル変数が使用できます。 ただし、ビルドアクションで良く利用されるCodeBuildでは、以下のブログの通り既に様々な手法で変数を指定する事ができます。 そのため今回のアップデートで追加されたパイプラインレベル変数は、主に承認アクションやデプロイアクションで使用する機
こんにちは!技術4課のイーゴリです。 この記事では、試しにAWS CodePipelineを使って、CodeCommit → Codedeploy → EC2へデプロイのプロセスを作ってみましたので、ご紹介したいと思います。 構成の説明 前提条件 IAMユーザー用のGit 認証情報の生成手順 CodeCommitリポジトリを作成する CodeCommitリポジトリにサンプルコードを追加する CodeDeployエージェントのインストール 事前準備(IAMロール作成) エージェントのインストール Codedeployでアプリケーションを作成 CodeDeployのIAMロール作成 アプリケーションの作成 デプロイグループの作成 CodePipelineでパイプラインを作成する 構成の説明 CodeCommitにコードをアップロードすると、CloudWatch Eventsがこれを検知して、C
Fargateに素のNginx(Webサーバ)とFireLens(Fluent Bit)込みの検証環境を構築するCloudFormationのテンプレートを以前紹介しました。アプリコンテナ(Webサーバ)とFluent Bitのデプロイ作業を簡略化するためにCodePipelineでCI/CDパイプラインを作成し連携させてます。デプロイ方式はプレースホルダを用いたBlue/Green デプロイメントを採用します。 前回の環境おさらい 前回アプリコンテナは素のNginxコンテナを利用していました。FireLens用のFluent Bitのイメージは自前の設定ファイルを読み込ませる都合、ECRにビルドした設定ファイル込みのイメージをpushしたものを利用していました。 今回はプレースホルダを利用してBlue/Greenデプロイをするためappspec.ymlとtaskdef.jsonが登場しま
こんにちは、soraです。 今回は、CDK(Python)でCodePipelineを作ってECSにデプロイしてみたことについて書いていきます。 CDKのPythonコードメインで説明し、CodePipelineとはみたいな各サービスの説明は割愛します。 また、とりあえず動くものを作ることを目的としているため、ログ取得の有効化などはしていません。 今回やってみること 今回の構成は以下です。 CodeCommitリポジトリのコミットをトリガーとしてCodePipelineが動いて、ECSにデプロイする構成です。 CodeCommit・ECR・ECSは既に存在している状態として、他の部分をCDK(Python)で作っていきます。 環境 Cloud9上に構築した開発環境でCDK(Python)を使って構築します。 (.venv) $ python --version Python 3.7.16
Amazon Web Services ブログ [AWS Black Belt Online Seminar] AWS CodeStar & AWS CodePipeline 資料及び QA 公開 先日 (2020年11月11日) 開催しました AWS Black Belt Online Seminar「AWS CodeStar & AWS CodePipeline」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. CodeStarで構築される環境は CloudFormation のテンプレートとして公開されているのでしょうか? A.
みなさん、こんにちは!めもりー(@m3m0r7) です。 Terraform を初めて 2 週間ほどのインフラ初心者です。 主にやりたいこととしては下記のようになります。 そのために S3 に展開する設定を含めて Terraform でどう書けばよいのかしたためてみます。 CodeCommit にプッシュしてビルドして Lambda で配信するといった用途なら多く見かけたのですが、残念ながらこういった用途はあまり見かけないので少し苦戦していました。Terraform 難しい。 書いていく CodePipeline で一連の流れを定義するにあたり、下記が必要になります。 CodePipeline のためのロールの設定 CodeBuild のためのロールの設定 ロールをそれぞれ紐付ける CodeBuild のプロジェクトの設定 CodePipeline のアプリケーションの設定 それぞれ見てい
AWS Database Blog Automating Hyperledger Fabric chaincode deployment on Amazon Managed Blockchain using AWS CodePipeline Amazon Managed Blockchain is a fully managed service that makes it easy to create and manage blockchain networks using the open-source blockchain framework Hyperledger Fabric. In this post, we explore how to use AWS CodePipeline and related services to automate the deployment of
AWS CodePipeline(以下、CodePipeline)は GitHub と連携した場合、通常は Push 時にパイプラインが実行されますが、Push 以外のイベント時にパイプラインを実行したい場合もあります。例えば、特定のタグを付けたり、Pull Request 作成時やコメントをつけた場合などです。 Push 以外のイベントでパイプラインを実行したい場合は CodePipeline の Webhook を設定する方法がありますが、イベントのフィルタを書いたり動作検証するのが面倒です。 GitHubのpush以外のWebHookイベントからCodePipelineを発火させる - Qiita Github の Pull Request がマージされたときに CodePipeline を発火させる - Qiita そこで本記事は GitHub Actions から CodePip
今回のテーマ こんにちはAWS事業本部コンサルティング部のこーへいです。 今回のテーマは「CodePipelineを実際に動かす際に意識しておくことをまとめる」です。 本記事では、ECS(ローリングアップデート)版のCodePipelineにて意識しておくといいポイントなどをノウハウ形式でまとめてみました。 今回の構成 上記構成図をベースに、今回お話しさせて頂きます。 基本的かつ簡易的な構成となっており、考え方自体は他にも流用できますので少し異なるCodePipeline構成の場合でも参考になる箇所があると思います。 起動編 CodePipelineの起動方法について 「トリガー条件を満たす(自動)」と「手動」の大きく2つがあります。 トリガー条件を満たし、CodePipelineを起動する 最も一般的なCodePipelineの起動方法です。 CodePipelineのソースステージによ
1. IAMロールやポリシーの事前準備 (A) パイプライン側のAWSアカウント(A)でパイプラインが利用する IAMロール、アーティファクトS3バケット、CMKなどを作成します。 リポジトリアカウント(B)に対してアーティファクトに保存する権限、保存する際に暗号化するための権限をポリシーに設定しています。 AWSTemplateFormatVersion: 2010年09月09日 Description: Step 1, Pre-requirements (in Production Account) # ------------------------------------------------------------# # Parameters # ------------------------------------------------------------# Param
AWS DevOps & Developer Productivity Blog Using AWS CodePipeline for deploying container images to AWS Lambda Functions AWS Lambda launched support for packaging and deploying functions as container images at re:Invent 2020. In the post working with Lambda layers and extensions in container images, we demonstrated packaging Lambda Functions with layers while using container images. This post will t
import { Stack, StackProps } from 'aws-cdk-lib'; import { Cluster } from 'aws-cdk-lib/aws-ecs'; import { Construct } from 'constructs'; import { Certificate, CertificateValidation } from 'aws-cdk-lib/aws-certificatemanager'; import { HostedZone } from 'aws-cdk-lib/aws-route53'; import { Bucket } from 'aws-cdk-lib/aws-s3'; import { RemovalPolicy } from 'aws-cdk-lib'; import { SecretValue } from 'aw
釣りの専門用語が分からなくて困ってます。AWS事業本部コンサルティング部の後藤です。 CodePipelineを使用して異なるアカウントにデプロイを行う場合、アカウントを跨ぐような形でCodePipelineを構築するのが一般的かと思いますが、AWSのナレッジセンターに1つのアカウント上でCodePipelineを完結させつつ、別アカウントにCloudFormationのスタックを構築する方法を見つけましたので、こちらを参考にしながらLambda作成を試してみました。 それでは、やっていきましょう! 構成図 今回構築する構成図は以下となります。 CodePipelineを構築する側をAccount(A)、CloudFormationを作成する側をAccount(B)とします。 事前準備 CodeBuildサービスロール作成 CodePipelineサービスロール作成 今回サービスロールは基
いわさです。 今朝のアップデートで AWS CodePipeline に新しいデプロイアクションプロバイダー「EC2」が追加されました。 EC2 にデプロイするとなると、CodeDeploy エージェントをセットアップして AppSpec を書いて...みたいなのが必要だったのですが、CodePipeline から直接デプロイできるようになります。 仕組みとしては SSM エージェント経由でコマンドを実行させる形になるので、外部からデプロイするためにインバウンドポートの解放なども不要です。 今回こちらを試してみたので使い方などを紹介します。 デプロイアクションの仕様 実際にパイプラインを構成しようとすると、次のアクションが選択できます。 こちらのアクションリファレンスが以下です。 いくつか前提条件があります。 パイプライン V2 のみサポート Linuxインスタンスのみサポート SSM エ
September 30, 2020 GitLabとAWS CodePipelineを使ってAWS ECS/FargateのCI/CD こんにちは。 本記事では、GitLabとAWS ECS/FargateのCI/CD環境の構築する方法を紹介します。 今回の記事を書く動機は、GitLabの目玉機能であるGitLab CI/CDとAWSのCode4兄弟と言われているAWS CodeCommit, AWS CodePipeline, AWS CodeDeployやAWS CodeBuildの協調がいまいち最初は分からなかったからです。これからGitLabとAWSのCode4兄弟でCI/CDをしていく人の参考になれば幸いです。 注意 用語について 本記事では、GitHubではなくGitLabを使用しているため用語がGitHubの場合と異なる場合があります(例: GitHubのPull Reque
「TerraformでECSローリング更新のCodePipelineを作りたい」 サンプルがあまりなかったので書いてみました。 サンプルコードは以下になります。 msato0731/terraform-sample/tree/main/ecs-rolling-update やってみた terraformで環境構築 いくつかコードを解説します。 まずは、CodePipelineを定義している部分です。 CodeCommitをソースに、CodeBuildでDockerイメージのBuild・Push、最後にECSへのローリング更新を行なっています。 (B/Gデプロイでは、CodeDeployが必要ですがローリング更新であれば無くてもできます) 少しはまった点としては、CloudWatch Eventの部分を記述忘れていてCodePipelineが発火しなかった点です。 resource "aws
はじめに AWSのCodePipelineから利用するCodeBuildにて、検証および本番環境のスキーマを取得、そのスキーマを元にテストを実行したかったため、RDSに接続する必要がありました。そのため、VPCに配置する必要があり、さらにmysqldumpコマンド等を使用する必要もあったため、AWS標準で用意されているイメージではなく、カスタムイメージ作成し、利用することにしました。 その際に諸々設定した際の記事となります。 全体構成 配置するSubnetはPrivateなため、Proxyを経由してインターネットに接続します。 大まかな流れは以下 CodePipelineを起動 CodeCommitからソースダウンロード CodeBuild実行 VPC(PrivateSubnet)に配置 事前に用意したカスタムイメージ上でBuildSpecを実行(Docker on Docker) RDS
Terraform を色々見直している中で、CodePipeline の経過を知らせる仕組みに、CodeStar Notifications を使っている箇所がありました。 今回はそれを EventBridge を使う形式に変更した、というか旧式に戻した、地味なあけおめ回です。 変更理由 Terraform やら機能構成そのものを練り直している際に、もっと簡略化とか最適化できないか考える中で、CodeStar Notifications を使ってチャットに通知している箇所がありました。 CodeStar 本体は使っておらず、Notifications だけ使っている状態で、リソース構成も正しいとはいえ複雑気味に感じたので、なんとかならないかなーと調べたところ、そもそも 2024年7月31日 でサポートが終了する旨が、ドキュメントやコンソールに表示されていました。 2024 年 7 月 31
AWS DevOps & Developer Productivity Blog AWS CodePipeline adds support for Branch-based development and Monorepos AWS CodePipeline is a managed continuous delivery service that automates your release pipelines for application and infrastructure updates. Today, CodePipeline adds triggers and new execution modes to support teams with various delivery strategies. These features give customers more ch
バランサーとEC2 デプロイフロー Terraformで実装 前提 ディレクトリ構成 CodeDeploy 必要なリソースのインポート 1インポートしたリソースの定義 2デプロイアプリケーションとデプロイグループの作成 CodePipeline 1IAMロール作成とポリシーアタッチ 2S3バケット作成 3パイプライン作成 aws_codestarconnections_connectionリソースについて 入出力アーティファクトについて まとめ 最後に こんにちは。バックエンドエンジニアの高橋です。 あるプロジェクトで実装したCodeDeployとCodePipelineを使ったデプロイをTerraform化したので、その実装例を紹介したいと思います。 バランサーとEC2 今回はバランサーに複数のウェブサーバがぶら下がっていてそこにインプレースデプロイする構成とします。 デプロイフロー C
こんにちは、つくぼし(tsukuboshi0755)です! 以前以下のブログで、CDK(TypeScript)でECSとECRのコンテナ構成を実装しました。 今回はこの構成に対して、CodeCommit及びCodeBuildを含むCodePipelineを追加し、ECSのローリングアップデート構成を実現するCDKコードを作ってみたいと思います! 前提条件 今回は以下の通り、CDKv2を使ってコードを書いていきます。 $ cdk version 2.83.1 (build 006b542) またDockerクライアントとしては、Rancher Desktopを使用します。 $ rdctl version rdctl client version: 1.1.0, targeting server version: v1 全体構成 今回はVPC+ALB+ECS(Fargate)+ECRに加えて、
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く