JAWS-UG CDK支部 #16 ~CDK Conference 2024 Extra~ https://jawsug-cdk.connpass.com/event/328676/
AWS Security Blog How to build a CI/CD pipeline for container vulnerability scanning with Trivy and AWS Security Hub In this post, I’ll show you how to build a continuous integration and continuous delivery (CI/CD) pipeline using AWS Developer Tools, as well as Aqua Security‘s open source container vulnerability scanner, Trivy. You’ll build two Docker images, one with vulnerabilities and one witho
Kotlin言語や統合開発ツールIntelliJ IDEAなどの開発を行っているJetBrainsは、CI/CD環境のマネージドサービス「TeamCity Cloud」の正式リリースを発表しました。 TeamCity Cloud is now publicly available! You can now set up your CI/CD and run builds in the cloud. All without having to maintain and manage your infrastructure – as we’ll do that for you! Try it out yourself, for free: https://t.co/Y1VXwmJ1b3 pic.twitter.com/qphvMQoY7d — JetBrains TeamCity (@team
Software development is filled with repetitive tasks—managing issues, handling approvals, triggering CI/CD workflows, and more. But what if you could automate these types of tasks directly within GitHub Issues? That’s the promise of IssueOps, a methodology that turns GitHub Issues into a command center for automation. Whether you’re a solo developer or part of an engineering team, IssueOps helps y
序論 先日IaCをオーケストレーションしてくれるツール、Terramateについて紹介しました。 この時はクイックスタートということでnullリソースを使ってTerramateの動作確認程度のハンズオンを実施しました。 今回は複数のStateファイルで分割され、CI/CDパイプラインの処理に時間がかかるようになったTerraformリソースをTerramateを活用して、変更差分があった場所のみ検知してapplyを実行するCI/CDパイプラインの構築について紹介いたします。 対象読者 Terramateを使ったCI/CDパイプラインの構築に興味がある人 Terraform(OpenTofu)の基礎知識がある人 GitHub Actionsの基礎知識がある人 IaC(Terraform)導入後の課題についておさらい Terramateの概要については私の記事や本家ドキュメントを読んでもらえま
2024/9/17に「GitHub CI/CD実践ガイド~ Forkwell Library#67」というイベントで登壇しました。本記事ではその講演をダイジェストでお届けします。あわせて当日のFAQにも回答します。 発表資料 イベントでは拙著『GitHub CI/CD実践ガイド』のポイントを解説しました。 資料はSpeakerDeckへ公開済みです。またアーカイブ動画がYouTubeから視聴できます。 発表ダイジェスト それでは講演内容をかいつまんで説明しましょう。アジェンダは次のとおりです。 CI/CDとはなにか GitHub Actionsの基本機能と作法 持続可能性を高める習慣 意図的脅威に対する防衛術 おわりに なおFAQだけ読みたい場合は、こちらをクリックすると飛べます。 1. CI/CDとはなにか 我々ソフトウェアエンジニアの仕事は「ソフトウェアをとおして、ユーザーに価値を届け
こんにちは!コンサル部のinomaso(@inomasosan)です。 前回、GitHub ActionsからECSのCI/CDについて試してみました。 その際、GitHub ActionsにはAWS管理ポリシーによる強めの権限を付与して検証しました。 本番運用を考慮する場合は、FullAccess等の強い権限だと思わぬ事故につながります。 今回はセキュリティの観点から、GitHub Actions用にIAMポリシーの最小権限例を作成してみました。 構成図 GitHub ActionsのDeploy to Amazon ECSテンプレートからワークフロー実行する際の大まかな構成図となります。 今回はIAMポリシーのActionとResourceをメインに権限を見直していきます。 IAMポリシーの最小化権限例 今回作成したIAMポリシーは以下の通りです。 <>で囲った値は、ご自身の環境毎の値
GitHub Actions 実践入門 「GitHub Actions 実践入門」発行主旨・内容紹介 「GitHub Actions 実践入門」目次 「GitHub Actions 実践入門」Amazonでの購入はこちら 「GitHub Actions 実践入門」楽天市場での購入はこちら GitHub Actions 実践入門 インプレスグループで電子出版事業を手がけるインプレスR&Dは、技術書典や技術書同人誌博覧会をはじめとした各種即売会や、勉強会・LT会などで頒布された技術同人誌を底本とした商業書籍を刊行し、技術同人誌の普及と発展に貢献することを目指し、最新の知見を発信する技術の泉シリーズ2020年6月の新刊として宮田淳平氏著書による、GitHubが提供するCI/CDサービスの「GitHub Actions」の解説書「GitHub Actions 実践入門」を発売した。 宮田淳平Pro
こんにちは!「Sansan Summer Internship 2023」でインターンをしていた野首侑作です(X, Facebook)。R&D Architectグループに1ヶ月強コミットしていました。今回のインターンで使った技術はこれまで全く触ったことがありませんしたが、チームメンバーのサポートもあり本番環境でも動かせるコードを書くことができました。 今回学んだことの整理と、Sansanのインターンで学べることの多さを共有したいという意味を込めて、社内ブログでアウトプットしようと思った次第です。 目次 目次 はじめに ローカルでAirbyteの立ち上げ 1. DockerによるAirbyte serverの起動 2. Sourceの登録 3. Destinationの登録 4. Connectionの登録 5. 接続確認 TerraformによるIaC IaCとは Terraformとは
オブザーバビリティツールを手掛けるhoneycomb.ioの共同創業者でCTO(最高技術責任者)を務めるチャリティ・メージャーズ氏が2021年1月19日(米国時間)、開発者向けのQ&Aサイト「Stack Overflow」のブログに記事を寄稿し、コード作成から本番環境へのデプロイまでの時間の短縮にフォーカスしてCI/CD(継続的インティグレーション/継続的デリバリー)に取り組むべきだと提言した。 以下では、メージャーズ氏の主張の概要を紹介する。 CI/CDは導入が進んでおり、特にCIはこの10年で取り組みレベルが向上している。だが、その一方で、CDは立ち遅れている。 CI/CDはプロセスと方法論を指す用語だ。メインリポジトリにマージした全てのコードをテストし、いつでも本番環境にデプロイ可能な状態にしておき、自動的にデプロイできるようにする設計を目指す。 CI/CDの目標はソフトウェア変更の
本稿について 2019年11月、GitHub上で利用できる無料のワークフローツールのGitHub Actionsが正式にリリースされました。1 これを使って、CI/CDなどの処理を自動化することができます。 本稿では、GitHub ActionsでTerraformを実行し、Google Cloud Platformの構成管理を行う方法を紹介します。 また、GitOpsによるインフラCI/CDの作業フローも紹介します。 昨日、Bitbucket PipelinesでGCPに対してTerraformでインフラCI/CDする - Qiitaという記事を書きましたが、そのGitHub Actions版となります。 共通する内容が多いので、以降ではその記事を「Bitbucke Pipelines版」として参照させて頂きます。 更新履歴 20200504 .github/workflows/terr
DevOpsプラットフォームの取り組みを紹介する7回目の記事です。 Qmonus Value Stream 開発チームの奥井( @HirokiOkui )です。 連載第7回では、Qmonus Value Streamの中核を担うコンポーネントであるAssemblyLineについて深堀りします。 第2回 および 第6回 で解説したとおり、Qmonus Value Streamでは、AssemblyLineという独自のリソースを定義してCI/CDパイプラインを構成します。 AssemblyLineは、 Tekton と同様にKubernetesのカスタムオペレーターとして実装されています。 AssemblyLineは、Tekton Pipelineを実行するワークフローエンジンとしての責務に加えて、柔軟性の高いCI/CDパイプラインを構成・実行するために必要な様々な機能を有しています。 本記事
せーのでございます。 現在AWS re:InventではAndy Jassyのキーノートが行われています。 [随時更新] AWS re:Invent 2020 Keynote で発表された新サービスまとめ #reinvent | Developers.IO ご機嫌いかがでしょうか、豊崎です。 今年もre:Invent 2020 キーノートではたくさんの新サービス/新機能が発表されるものと思います。 本投稿では、AWS re:Invent 2020のキーノートで発表された新サービスの記事をまとめます。 AWS re:Invent 2020では以下5つのキーノートが計画されています。 12/2: Andy Jassy Keynote 12/4: AWS Partner Keynote 12/9: Machine Learning Keynote 12/11: Infrastructure Ke
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事は Terraform Advent Calendar 2024 の 23日目の記事です。 TerraformのCI/CDどうしてますか?私は長年Atlantisを愛用していました。Atlantisは、Terraform/OpenTofu用のCI/CDサーバで、自分で使う分にはどちゃクソ便利なんですが、サーバを自前で建てないといけないのがネックで、なかなか初心者や小規模な環境にはオススメしづらいのが悩ましいところです。 なんかよい代替手段はないかしら?と思って最近使ってみているのがDiggerです。DiggerはGit
マイグレーションの履歴を記録することで、マイグレーションファイル名を省略して、単に tfmigrate plan や tfmigrate apply とするだけで、未適用のマイグレーションを適用することが可能になり、よりCI/CDで使いやすくなりました。また履歴モードが有効な場合、 tfmigrate list --status=unapplied で未適用のマイグレーションファイルを列挙することも可能です。 いまのところ storage の種類は s3 と local しか使えませんが、s3 以外のクラウドストレージに保存したい場合は、現状の回避策として local ストレージを使用して一旦ローカルファイルとして保存して、tfmigrate plan / apply の前後で履歴ファイルを自前で同期することは可能です。最新の状況は上記のREADMEを参照して下さい。 tfmigrate自
The Legends of Runeterra CI/CD Pipeline Hi, I’m Guy Kisel, and I’m a software engineer on Legends of Runeterra’s Production Engineering: Shared Tools, Automation, and Build team (PE:STAB for short). My team is responsible for solving cross-team shared client technology issues and increasing development efficiency. We focus on the areas that empower other teams to do more and protect the team from
はじめに DevOpsプラットフォームの取り組みを紹介する5回目の記事です。 Qmonus Value Stream開発チームの杉野です。 連載第5回では、Qmonus Value StreamでCI/CD機能を実現するための要素技術として用いている、OSSのTektonについて紹介します。 これまでの記事をまだ見ていないという方は、Qmonus Value StreamというプラットフォームがどのようにTektonを利用しているかを過去の記事で述べていますので、覗いてみてください。 また、本記事ではKubernetes(以下、k8s)に関する知識がある前提で記述していますので、ご了承ください。 Tekton とは Tektonは一言でいうと、CI/CDシステムを作成するためのKubernetes Nativeなオープンソースフレームワークです。さらに噛み砕いて表現すると、k8s上で動作し
こんにちは!コンサル部のinomaso(@inomasosan)です。 本記事はGitHub Actions Advent Calendar 2021の20日目の記事です。 投稿が遅くなってしまい申し訳ございません! GitHub ActionsからECSへ簡単にCI/CDできると聞いたので試してみました。 いくつか参考ブログはあったのですが、ワークフローのテンプレートが古くなっていたりしたので改めてブログにまとめてみました。 前提 以下の環境を構築している必要があります。 DockerイメージレジストリにECRを使用 ECSでコンテナを起動中 GitHub Actionsワークフローについて 今回はGitHub ActionsのDeploy to Amazon ECSというテンプレートからワークフローを作成します。 テンプレートの大まかな内容は以下の通りです。 ECRにログイン Dock
こんにちは。 LLM事業部のUTです。 概要 promptfoo の紹介 起動 CI での評価 GitHub Action まとめ 概要 OpenAI による ChatGPT 登場の衝撃から1年ほど経ちましたが、 LLM を活用する企業はものすごく増えました。 OpenAI だけでなく、大手クラウドや Hugging Face などを通して各企業も提供しています。 遊びで使う分にはどの LLM を使うかは適当で良いかと思いますが、プロダクトとして提供する場合利用を想定しているシーンに対して、最適なモデルを選びたいと思うのは必然でしょう。 また LLM を利用してレスポンスを受けるに当たり、最も重要なのがプロンプトです。 様々な研究結果にもある通り、プロンプトの書き方一つで出力結果が大きく変わります。 欲しいアウトプットを出すプロンプトを探すには、プロンプトを複数作り比較する必要があります。
GitHubには、Dependabotという便利な機能があります。 これは、利用しているライブラリに脆弱性が見つかったり、更新できる場合に、自動でプルリクエストを作ってるくれる機能です。 Keeping your supply chain secure with Dependabot - GitHub Docs GitHubにDependabotを導入して依存ライブラリを自動アップデートする | DevelopersIO とてもありがたい機能なのですが、同時にプルリクエスト(のためのブランチ)が作られて、同時にCI/CDが動いて、同時に同じAWS環境にデプロイされるのは嬉しくありません。 そこで、本記事では、「Dependabotで作られたプルリクエストの場合、デプロイさせない」を試してみます。 なお、CI/CDはCircleCIを使います。 おすすめの方 GitHubのDependabo
【社内勉強会】AKIBA.GCP でZennのCI/CDを紹介し、Google Cloud Japan の皆さまに改善アドバイスをいただきました こんにちは。Zennチームの和田です。2023年3月1日、Google Cloud に関する社内勉強会が開催され、そこでZennのCI/CDの話をしたのでレポートを書きます。 Zenn の CI/CD Zennは、バックエンドにGoogle Cloudを採用しています。少人数のチームで運営しており、できるだけ運用負荷を減らす観点でCI/CDは重視しているポイントです。いまは、以下のような概略図で動いています。 勉強会の目的 おおきくふたつありました。 Google Cloud で動いているアプリのCI/CDとして、Zennを例にとって共有すること Google Cloud Japan の方々に改善点をアドバイスしてもらうこと この勉強会のために、
Pythonで環境に依存しないポータブルなCI/CDを記述可能に。「Dagger Python SDK」リリース Daggerは、ビルド/テスト/デプロイの一連のCI/CDパイプラインを、どの環境にも依存することなく、ローカルPCやサーバ、GitHubやCircleCIなどの主要なCI/CDサービスなどでポータブルに実行可能にするソフトウェアです。 そのDaggerによるCI/CDパイプラインの定義をPythonで記述できる「Dagger Python SDK」がリリースされました。 Introducing the Dagger Python SDK: develop your CI/CD pipelines in Python, run them in containers anywhere. https://t.co/X8YY59WTqz pic.twitter.com/4RxHLDk
Amplifyでは、スケーラブルなフルスタックアプリケーションを迅速に構築することができる。フロントエンド開発者は、素早くバックエンドを構成してアプリケーションと接続し、静的なウェブアプリケーションのデプロイを数クリックで実行できる。加えて、AWSコンソールの外部でも、簡単にアプリケーションコンテンツの管理が可能。一般的なウェブフレームワーク(JavaScript、React、Angular、Vue、Next.js)やモバイルプラットフォーム(Android、iOS、React Native、Ionic、Flutter)がサポートされている。 今回のローンチにより、条件付きバックエンドビルド、ビルド時のaws-exports.js自動生成、および複数のフロントエンドブランチ間でバックエンドを再利用するためのよりシンプルなコンソールワークフローをサポートするようになった。 コミットされた「a
DevOpsプラットフォームの取り組みを紹介する6回目の記事です。 Qmonus Value Stream 開発チームの奥井 ( @HirokiOkui ) です。 連載第6回では、パラメータを効率的に管理するためのQmonus Value Streamの取り組みについて紹介します。 第3回 で解説したとおり、Qmonus Value StreamではInfrastructure as Code(以後IaC)およびCI/CDパイプラインを記述するためにCUE言語を用いています。 CUE言語は洗練されたデータ記述言語であり、CUE言語が有する型システムやプログラマビリティにより、宣言的マニフェストを高品質かつ効率的に記述することが可能になります。 しかしながら、CUE言語を用いても改善できない領域が存在します。 それは、パラメータです。 本記事では、IaCおよびCI/CDパイプラインの構築に
TechTargetは2024年9月4日(米国時間)、「CI/CDパイプラインについて知っておくべきこと」に関する記事を公開した。CI/CD(継続的インテグレーション/継続的デリバリー、または継続的デプロイ)は、組織の効率を大きく向上させる可能性があるが、実際には多くの要素を考慮する必要がある。 近代のソフトウェア開発の鍵となるのは“スピード”だ。従来のウオーターフォール型の開発モデルでは、プロジェクト全体を一度にリリースする「モノリシック」な方式が主流だったが、現在では迅速な反復を重視した「アジャイル」「DevOps」「継続的インテグレーション」「継続的デリバリー」「継続的デプロイ」などの手法が主流となっている。 各手法にはわずかな違いはあるが、いずれも継続的な反復に重点が置かれており、開発の在り方や効率に大きな変革をもたらしている。これによって、企業は新しい機能やアーキテクチャを低リス
はじめに こんにちは! エンジニア2年目のTKDSです! この記事ではDaggerについて紹介します。 この記事は課内で行ったLTをもとにしたものです。 はじめに Daggerとは? アーキテクチャ概要 Dagger Function Dagger Module 実際につかってみる ユースケース1:テストのパイプラインを記述 ユースケース2:DB依存の単体テストでDBのコンテナを用意する まとめ Daggerとは? CIの関数(Dagger Function)化 関数をCLI、SDK、HTTPリクエストなどから実行可能 関数→モジュールにして再利用可能 既存のモジュール(自分や他人が作ったもの)を再利用可能 一度書けばどこでも(ローカルPC、Actionsなど)実行可能 以上の特徴を持つ、コンテナ内でパイプラインを実行する、プログラム可能なCI/CD エンジンです。 アーキテクチャ概要 D
はじめに こんにちは、ZOZOMO部OMOバックエンドブロックの杉田です。普段はFulfillment by ZOZO(以下、FBZ)が提供するAPIシステムを開発・運用しています。 FBZでは、昨年からビルドの高速化や自動デプロイをはじめとしたCI/CDパイプラインの最適化に取り組んできました。本記事では、それらの取り組みの詳細とその効果についてご紹介します。 目次 はじめに 目次 FBZにおけるCI/CDと構成管理の現状 リリースサイクルの見直し リリースまでの流れ 顕在化した課題 長時間のデプロイ ビルド環境のメンテナンス性の低さ 手動デプロイが抱える人為的なリスク CI/CDパイプラインの改善に向けて デプロイフローの見直し CodeBuildのバッチビルド タスク定義の実装例 個々のタスクを高速化 Direct deploymentsの有効化 devDependenciesの依存
背景 現在Flutterを用いたモバイルアプリの開発を行なっているが、その中でGitlabによるCI/CDを構築している。 こちらを運用していくにあたって1点問題が発生した。 それは、メンバーの増加によって相対的にCI/CDのビルド端末が不足し、pipelineの滞留が発生したことだ。 pipeline待ちがDeveloperのストレスになったり、作業効率の低下を招いたりすることは既に広く知られてはいるため本件を早急に解決する必要がある。 基本的には、CI/CDのRunnerとなるMacを購入して、処理台数を増やすことで、本件を解決することができる。 しかし、この問題の解決には以下のような課題がある。 Mac端末の購入にはリードタイムが必要であり、解決まで時間がかかる。 新規で購入した端末では新たに環境構築が必要であり、人的リソースがかかる。 メンバーの増加は一時的なものであり、減少した際
connpass.com 資料はこちらです。 紹介できなかったところや発表・懇親会中に質問があった内容について補足します。 fujiwara-wareへの貢献 以前にecspresso MeetUpでも紹介しているのでそちらもご確認ください。 speakerdeck.com 個人的に一番好きな貢献はdiffコマンドによるUnified Diff形式の出力で、v1の時はオプションですがv2からはデフォルトで有効にしてもらって自分を含め多くの人が使う機能を用意できたなと思ってます。 github.com ステージング環境を停止・再開する部分について 再開する際になぜ scale --tasks=1 になってないのかという質問がありました。 これはリポジトリをマスターとして扱いためで、desiredCountも含めコード管理しています。単にdeployコマンドを実行することでdesiredCou
現在自分が担当しているプロジェクトでは、GitHub Acitionsを利用してデプロイを行っています。 npm ci を使ってパッケージのインストールが行われていましたが、 その際に node_modules をキャッシュしていて意味がない状態となっていました。 - name: Cache Node modules uses: actions/cache@v2 with: path: hoge/node_modules key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }} - name: Build hoge run: | npm ci npm run build working-directory: hoge これは修正せねば!ということで、調べると npm ci する際は ~/.npm
はじめに コミューンではこれまでCI/CDのツールにCircleCIを使っていましたが、最近Cloud Buildへ切り替えました。 結論から言うと、切り替えにあたってパイプラインの中身とプロセスを今一度見直したところ、以下のように改善しました。 ビルド回数:2回 -> 1回 本番環境のリリース完了時間:約13分~24分 -> 約3分 今回の記事では切り替えるきっかけとなった出来事やCloud Buildの設定、注意点について書きます。 はじめに タフな仕事始め その場限りの対応ではなくあるべきを考える あるべきを設計する パイプラインのステップ ステップ1 ステップ2 Cloud Buildの設定 構成ファイルの作成 サービスアカウントの設定 トリガーの設定 開発環境用のプロジェクト 本番環境用のプロジェクト 注意点 cloudbuild.yamlの多段構成は避ける 自前のタグをつけたリ
本記事は 【コンテナウィーク】 1日目の記事です。 💻 告知記事 ▶▶ 本記事 ▶▶ 2日目 📱 こんにちは。梅原です。 皆さんはCI/CDパイプラインやってますか。昨今はパイプラインファーストという考え方もあり、ソースコードの変更反映をトリガーにテストやビルド、デプロイまで自動でやることは多いのではないでしょうか。 今回はAWSでCI/CDパイプラインを実現するためのサービスであるCodeシリーズ(CodeCommit、CodeBuild、CodeDeploy、CodePipeline)を使ってECSへ自動デプロイする流れを見ていきます。 AWSでCI/CDパイプラインを実現するために そもそもCI/CDパイプラインは、継続的インテグレーション/継続的デリバリーの略で、これまで手動でしていたテストやビルド、デプロイ作業を自動化・高速化するために使われるものです。 CI/CDパイプライ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く