A complete solution for engineering teams of all sizes.Pull requestsCompare revisionsBrowse codeQuality GatesWebhooksProtected branchesNotifications and alerts
CI/CD Conference 2023から、GMOペパボのSREが仮想マシンとKubernetesが混在する環境におけるCI/CDの課題と解決策を解説したセッションを紹介する。 CI/CDに特化したカンファレンスCI/CD Conference 2023から、GMOペパボ株式会社のSREが解説する仮想マシンとKubernetesが混在した環境でのCI/CDの改善について解説するセッションを紹介する。プレゼンテーションを担当したのは2021年にGMOペパボに中途で入社したSREの渡部龍一氏だ。 ●動画:インフラCI/CDの継続的改善の道のり セッション開始から約8分は自己紹介と自社紹介に使われており、実質的なシステムの解説は以下のスライドから始まった。今回はスライドが別資料として公開されており、そこから引用している。 ●参考(発表資料):インフラCI/CD継続的改善の道のり
CI/VI制作プロセスから見るコーポレートフォント導入タイミングと組織のコミュニケーション 〜デザインコンサルファームMIMIGURIに聞く〜 この記事は連載記事「デザインコンサルファームMIMIGURIに聞く、ブランディングとコーポレートフォント、フォントの未来」の第2回目の記事です。 みなさんは「コーポレートフォント」についてご存じでしょうか。企業のあらゆる経済活動において、一貫した印象を保持するために管理・運用されるフォントをコーポレートフォント(企業制定書体)と呼びます。 前回は、理想的な組織やチームの在り方、そしてブランドに対するMIMIGURIさんの考え方を通して、コーポレート・アイデンティティ/ビジュアル・アイデンティティ(以下、CI/VI)やコーポレートフォントがどのような役割を担っているかについて伺うことができました。 2回目となる今回は、CI/VIを考えるプロセスと、コ
こんにちは。弁護士ドットコム クラウドサイン事業本部で SRE をしています、大内と申します。 クラウドサイン事業本部の SRE ではサービスの可用性、信頼性の向上や開発の高速化、省力化を目指した開発を日々行っています。 クラウドサインの本体アプリケーション(以下本体)のソースコードは GitLab で管理しており、 関連サービス、バッチなども 1 つのリポジトリで管理するモノレポ構成を取っています。 2022 年 9 月当時、バッチのソースコードだけで 43 個も管理していました。 バッチはいずれも GitLab CI で自動テストを実装しており、その CI コード行数はすべて合わせると 3600 行もありました。 今回は、そんな .gitlab-ci.yml を CI テンプレートを使って改善した話をご紹介します。 CI テンプレート導入以前の CI CI の改善するべき点 重複するコ
はじめに HiCustomer のエンジニアの 吉村(@jumpyoshim)です。 今回は、 GitHub Actions と git-secret による Postman の CI/CD 環境の構築方法 を紹介させていただきます。弊社では公開 API とプライベート API の結合テストや回帰テストなどで Postman を利用しています。Postman を利用するなかで以下の問題がありました。 誤操作で Postman の Request が書き換わってしまうことが多々あった 大量の Request を作成・修正する場合に Postman 上で行うのは非効率だった 上記の問題を解決するべく、GitHub Actions を活用した Postman への同期の自動化と git-secret を活用した Postman のバージョン管理を行いました。 Postman とは Postman
We are splitting our database into Main and CI We are splitting our database into Main and CI to improve the scalability and reliability of GitLab.com. Improving the performance and reliability of GitLab.com has always been a top priority for GitLab. While we continuously make iterative improvements to GitLab and our production architecture, we anticipate making a larger change to improve the scal
1. はじめに 以前紹介した友人が開発しているTensorFlow 2.x 向け強化学習ライブラリTF2RLが、諸々整備してバージョン1.0に到達しました🎉 (いつの間にかスターも300超えていてすごい!) バージョン1.0到達以降も、まだまだ様々な強化学習アルゴリズムを追加しようと開発が進んでいます。(この記事を準備している間にも、v1.1.0が公開されてます。) インストール方法や基本となる使い方は、公式ReadMeや、前の記事を読んでいただければと思うので、この記事では割愛します。 この記事では、私もお手伝いさせてもらって整備したアルゴリズム以外の部分について紹介します。 2. マルチプラットフォームテスト (PR 97) GitHub Actions によって、Windows/macOS/Ubuntu のマルチプラットフォームで、push や pull requestの度にユニッ
.gitlab-ci.ymlとは GitLab CI/CD パイプラインの設定ファイルです。GitLab Runner上でここに書いてあるJobが書かれている設定順序で実行されていきます。 Get started with GitLab CI/CD | GitLab 課題: .gitlab-ci.ymlが肥大化 そんな.gitlab-ci.ymlファイルですが、リポジトリのルートディレクトリに配置する必要があります。ここにそのリポジトリに関するCI/CDの情報をつらつらと書き連ねていくのですが、モノレポ構成にしている場合、全モジュールのCI/CD設定がこのルートディレクトリの.gitlab-ci.ymlに書かれていくことになりすぐに肥大化していき、読みにくく、また変更が難しくなっていきます。 モノレポ例 . ├── module-a │ ├── somefiles │ . │ . ├──
📝 開催概要 「つぎの一歩が見つかる、気づきと学びの場」 Forkwell Library シリーズ 第67弾 これまで Forkwell のイベントで登壇されたエキスパートの方々は、先達が記した書籍から「気づき」を得て実践し、振り返り、再現性のある「学び」として身に付けていく中で、実績を築いてこられました。 しかし、日々限られた時間の中で知識や情報をアップデートし続けるのはそう簡単ではありません。 Forkwell Library では、著者・訳者・実践者らを登壇者として招き、そんな思いを抱えた開発者の皆さまが「学びのきっかけ」を得られる勉強会を目指します。 第67回目では『GitHub CI/CD実践ガイド ――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用』を取り上げます。 GitHub Actionsの基本構文から,テスト・静的解析・リリース・コンテナ
architect - システム設計 developer - システム開発 app-developer - アプリケーション開発 operator/sys-admin - 運用管理/システム管理 かの有名な The Twelve-Factor App は、その「コードベース」の章で「一つのコードベースと複数のデプロイ」が重要であると説いています。[1] 周りを見渡してみましょう。develop ブランチ release ブランチ main ブランチ... おやおや。複数のコードベースから複数のデプロイが生まれているではありませんか。 The Twelve-Factor App はもう古い、そんなのできていて当たり前などという言葉が聞こえてくることもある昨今ですが、そもそも当たり前すぎるセオリーすら満たせていない現場はあまりにも多そうです。 The Twelve-Factor App が間違
PackerBuild and manage images as code
このサイトについて: 本サイトは、GitLab認定パートナーの「クリエーションライン株式会社」が「GitLab公式ドキュメント」を日本語に翻訳して一般公開しているものです。GitLab社は本サイトの運営に関与しておりません。公式情報や最新の更新については、必ず「GitLab公式ドキュメント」をご確認ください。本サイトに関するご質問やフィードバックは、「クリエーションラインのお問い合わせページ」までどうぞ。皆様の声をお待ちしております。本サイトは2023年8月時点(GitLab 16.3)の情報を元に翻訳しております。更新情報については定期的にご確認をお願いいたします。機械翻訳を使用しており、誤訳や難解な表現があるかもしれません。改善のためのリソースが限られているため、ご理解をお願いいたします。お知らせ: Tech関連記事(アジャイル&DevOps、クラウドネイティブ、データマネジメント、生
Swift package manager is a dependency manager developed by Apple to simplify the development process. Integrated into Xcode 11, it became a turning point in the world of dependency managers for Swift based projects. With no need to install additional software tools it serves as a user friendly, fast working iOS package manager. Below, we look at how the Fastlane tool can be used for task automatio
はじめにiOS/Androidの自動テストを実行する環境として端末(実機やエミュレーター)を利用したいケースがあるかと思います。 自動テストは手元だけの実行でなく、CI/CDサービスを通して継続的に実行できるようにしておくことが望ましいです。 その場合、CI/CDサービスからどのように端末に対して自動テストを実行すれば良いでしょうか。 最近は、クラウドのCI/CDサービス(BitriseやCircleCIなど)の利用が増えています。 そのため、CI/CDサービスを通してテストを実行する場合、デバイスファームを利用することになるかと思います。 そこで、本稿ではCI/CDサービスを通してデバイスファームで自動テストを実行した場合について、主に次の2つのことについて書いていきます。 - デバイスファームが出力するテスト結果 - CI/CDサービスによるテスト結果の表示 まず、これらについて書く前
CX事業本部@札幌の佐藤です。 re:Invent 2019 のワークショップ「Building a CI/CD pipeline for blue/green deployments using AWS Fargate」のレポートです。 ワークショップ概要 In this workshop, you learn how to build a CI/CD pipeline (AWS CodePipeline) to develop a web-based application, containerize it, and deploy it on a serverless Amazon ECS cluster (AWS Fargate). You use the blue/green method to deploy it, and you implement a switchover m
DockerでRailsAPIとReactとGraphQL、MySQLの環境を構築し、更にGithubActionsでCIを設定し、最後にHeroku(有料)+Vercelにデプロイするまでの流れ。 自己紹介 渋谷のGMOペパボという会社でエンジニアをしております。ほりゆうと申します。 Twitterではyukiという名前でも活動しています。 最初のキャリアは高等学校の国語科の教員で、今はエンジニアになって2年ちょっとが経ちました。 エンジニアとしては2社目です。よろしくお願いします。 少し宣伝です。GMOペパボではエンジニアを積極的に採用しており、研修付きの採用枠もあります。 福利厚生も充実していて、最近は無料のジムを使わせていただいております。 少しでも興味のある方はいつでもDMください! GMOペパボ株式会社 採用サイト yuki(ほりゆう)@運動(@yuki82511988) /
本記事は「ミクシィグループ Advent Calendar 2021」の15日目の記事です <目次> Kubernetes の Manifest チェックの話Manifest の Validation を行うメリットkubeconform の裏側の仕組みkubeconform のインストール方法カスタムリソース定義もチェックしよう 5.1 例: cert-manager の カスタムリソースを使ってみる 5.2 CRD の用意 5.3 スキーマを作成するkubeval との比較まとめKubernetes の Manifest チェックの話Kubernetes では様々な Manifest ファイルを書く必要があります。 様々な Manifest ファイルよく使うリソースはわかっても、たまにしか利用しないリソースの修正を行う場合など人力でのチェックには限界があります。 そんなManifest
はじめに こんにちは、AI・IoTサービス開発部の岩丸です。 早いもので2年目に突入し後輩が出来ました。年齢も無事にインクリメントされましたので自分らしく2年目も頑張っていきたいと思います。 前回はGCPのCloud Run、Cloud BuildでCIOps環境を構築してみた話を執筆しました。もしお時間ある方は合わせてご覧ください。 tech-blog.optim.co.jp 今回はGitLabのinclide機能を用いてCI/CD設定ファイルのテンプレート化を行ったのでご紹介致します。GitLabは優秀な機能が多いのでどんどん活用していきたいです。 目次 はじめに 目次 やりたいこと include機能とは やったこと テンプレートの構成 /Templates/Gradle.gitlab-ci.yml やってみて おわりに やりたいこと マイクロサービス構成で構成されたプロダクトは新機
CI/CD pipelines enhance the software delivery process by automating key stages such as testing, security scanning, and deployment. Adopting a pipeline-based workflow helps you ship more quickly by passing all code through a consistent set of steps. This guarantees that required standards are adhered to. You’ll see the greatest CI/CD success when you combine the right set of tools for your team’s s
PostmanとNewmanを組み合わせて、CI/CDに組み込むREST APIの自動テストを作ろう!テストREST-APIPostmanNewman はじめに REST APIのテストツール、テストが書きやすくてCLIベースで動くものを探していたんですが、PostmanとNewmanの組み合わせが神だったのでご紹介です。 これらを使うとざっくりこんなことが出来ます。 REST API実行する 実行したAPIのresponseをチェックするテストスクリプトを作る 作ったテストスクリプトをjsonファイルにexport CI/CDでこのスクリプトを実行するようjenkinsジョブを作る このざっくり説明で少しでも興味を持った方、ざっくり使い方を見ていってください。 Postmanは、APIを持つソフトウェアの開発を簡単にするためのツールです。アイコンかわいい(大事 出来ること APIテストを
本記事は、Ansible Advent Calendar 2021 の24日目です。 はじめに みなさん、Ansibleのテストを書いていますか? いろいろな現場を見ていると、Ansibleでテストまで書いている人は少ないのではないかなと思っています。 そこで、今回はアドベントカレンダーのために作った自動テストを試すためのハンズオンレポジトリを紹介します。 こちらを一通りやることであなたもAnsible自動テストマスターです! 手順 1. プロジェクト準備 1.1. GitLab.com にログイン 予め作成しておいたアカウントを使用して、 https://gitlab.com/users/sign_in からGitLab.comにログインしましょう。 ユーザーアカウントが未作成の場合は、 https://gitlab.com/users/sign_up からユーザー作成を行ってください。
こんにちは! AWS 事業本部コンサルティング部のたかくに(@takakuni_)です。 re:Invent 2023 でラスベガスにきています。最終日のキーノートにて、 拡張イメージスキャンが CI/CD パイプラインに組み込めるようになりました! 今までどんな状態だったか まず初めに、AWS で提供されているコンテナイメージスキャンをおさらいしてみます。 AWS では、 ECR ベーシックスキャンと、Inspector v2 を利用した拡張スキャンの2種類が提供されています。 オンデマンドスキャン 使っている DB 等、いくつか違いがあるのですが、「CI に組み込めるか?」と言った目線だと、 ベーシックスキャンはオンデマンドスキャンが可能なため、 CI に組み込めて、拡張スキャンは対応していなかったため、組み込めませんでした。 追記 厳密には組み込めたのですが、複数のサービスを組み合わ
はじめに 前回は、作成したアプリケーションをマイクロサービスとして連携する方法を紹介しました。 今回は、作成したサービスをOpenShiftが提供するCI/CDツールを用いて、外部のイベントを契機にビルド・デプロイを動的に実行する方法を解説します。 CI/CDとは 昨今では、ビジネスの変化に対応するため、アプリケーションの改善およびリリースサイクルを継続的かつ迅速に回していくことが重要となっています。 それを実現していくために必要な手法としてCI/CDがあります。CI/CDは「継続的インテグレーション/継続的デリバリ(Continuous Integration/Continuous Delivery)」の略で、ソフトウェア開発におけるビルド、テスト、デプロイ等の作業を自動化し、アプリケーションのリリース頻度を高める手法です。これらの作業を自動化することで人に起因するミスを防げるため、品質
題名の通り、AWS AmplifyでPythonのFunctionをCI/CDするとbuildに失敗する問題に遭遇しました。 結論(対処方法) ビルド設定のamplify.ymlに以下を追記することでbuildを通すことができました。 version: 1 backend: phases: build: commands: # ここから追記 >>> - export BASE_PATH=$(pwd) - yum install -y gcc openssl-devel bzip2-devel libffi-devel python3.8-pip - cd /opt && wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz - cd /opt && tar xzf Python-3.8.2.tgz - cd /opt/P
概要 Webアプリケーション開発のソースコードは、その特性上、多くの外部ライブラリに依存します。 使用者が多いパッケージほど更新頻度が高いため、追従するためには外部パッケージの定期的なアップデートが必要になります。 外部パッケージを定期的に更新していないと、 アップデート時の差分が大きくなり、リスクが高くなる 使用中のバージョンのサポートが打ち切られる 古いバージョンにロックインしてしまう などの問題が発生し、事業インパクトを与える問題に発展しかねません。 ただ、人力での外部パッケージの定期更新作業は面倒です。また、施策を回すための開発より優先度が低くなるため、必要に駆られるまでは後回しにされやすい。 本記事は、外部パッケージのメジャーアップデート検知&更新の自動化を扱った内容となります。 筆者は、業務ではバージョン管理ツールとしてGitLabを使用しています。本記事では外部パッケージのメ
いい方法が思いつかなくて、Netlifyチームに「ぶっちゃけどうやるのがいいの?」って聞いてみた。 今回のサンプル 特に意味はないですが、Gatsbyあんまり触ってないのであえて使ってみます。 GitHubのリポジトリと […] 今回のサンプル 特に意味はないですが、Gatsbyあんまり触ってないのであえて使ってみます。 $ npx gatsby new netlify-cli-test $ cd netlify-cli-test $ git init $ git add ./ $ git commit -m "init" $ git remote add origin <YOUR_GITHUB_REPO> $ git push origin master GitHubのリポジトリとの関連付けまでこれですみました。 Netlifyと連携する とりあえずサイトをそのままデプロイしてみましょう
CI/CDとは、ソフトウェア開発を高速化するため、ビルドやインテグレート、テストなどを自動化し、 すぐに本番環境にリリース可能な状態にする手法のことです。 CI(継続的インテグレーション)とCD(継続的デリバリー)の2つの要素があります。 CI(継続的インテグレーション)とは、コードに変更があると、ビルドからテストまで 自動化する手法です。 個々のプログラムからなるソフトウェアは、実際にインテグレートして動かすまで何がおきるかわかりません。 大量のコード変更ののちにインテグレート・テストしてバグを発見しても、原因究明は困難を極めます。 CI(継続的インテグレーション)を取り入れることで、コードを変更するたびにビルド・テストが自動で実行されます。 即時に問題を発見でき、手戻りを最小限に抑え、結果的に開発にかける時間を削減できます。
The state of CI platforms is much stronger than it was just a few years ago. Overall, this is a good thing: access to powerful CI platforms enables software developers and companies to ship more reliable software more frequently, which benefits its users/customers. Centralized CI platforms like GitHub Actions, GitLab Pipelines, and Bitbucket provide benefits of scale, as the Internet serves as a c
はじめに CI/CDパイプラインは素晴らしい。 AWSのCode兄弟を使ったパイプラインは、機能をAWSに閉じ込めながらなんでもできる万能感を感じる。 しかし、チュートリアルに載っているようなシンプルなパイプラインだけでは、現実にある課題を解決することはできない。 金融サービス向けに理想のCI/CDを追い求めたお話は、そんな現実にある課題もひっくるめてある程度解決してくれるベストプラクティスだと考えている。 が、実際にこれを運用しようとすると、クロスアカウントで色々なことをしなければならず、シンプルなパイプラインと比べると難易度が高くなる。 この記事では、このパイプラインを実現するためのクロスアカウント設定を中心にポイントを整理しながらTerraformで実装してみる。 前提知識として、以下が必要である(この時点でちょっとハードルが高い)。 (実際に試してみるなら)クロスアカウントな環境
こんにちは、MLBお兄さんこと松村です。 WBC 日本代表の準決勝はとてもとても素晴らしい試合でした。今日の決勝もとても楽しみです。 先日(3月20日)に東京で開催された CI/CD Conference 2023 で登壇をしました。 私のセッションに参加いただいた皆様、カンファレンスの運営の皆様、ありがとうございました。 event.cloudnativedays.jp カンファレンスで話した内容は、昨年のアドベントカレンダーで書いた GitHub Actions のワークフローをローカルで実行することができる nektos/act についてです。 nektos/act については過去記事をご覧ください。 aadojo.alterbooth.com カンファレンスでの私のセッションに関するページはこちらです。参加登録された方はアーカイブを見ることができると思います。 event.clou
最近、アジャイル、CI/CD、DevOpsの3つの用語の使い方が混同されている例を多く見かけるようになりました。 単一の工具で家を建てられないのと同様、単一のツールで開発プラクティスを実現することもできません。アジリティ、CI/CD、DevOpsの3つは独立したツールであり、それぞれ単独でも重要な機能を備えていますが、3つのツールのすべてを目的の用途に利用すれば、変革的な成果が得られます。そしてセキュリティの文脈では、これを実現して初めてDevSecOpsと呼ぶ権利を獲得したといえます。 アジャイル開発 アジャイルは、宣言の作成者の一部からはアジリティと呼ばれ、プロセスの障害を取り除き、主要なステークホルダー(開発チームや顧客など)間の協働をより緊密にしてデリバリーを迅速化することに主眼を置きます。アジリティでは恒常的な変化に重点を置き、モノリシックなライフサイクルでは高品質のソフトウェア
皆様初めまして、19新卒の坂井です。 AIサービス開発本部のAI Cameraチームに所属し、普段は画像処理やロジック検討や追加機能の実装を行ってます。 目次 目次 はじめに CI/CDとは? CI: Continuous Integration ~ 継続的インテグレーション ~ CD: Continuous Delivery ~継続的デリバリー ~ CD: Continuous Deployment ~ 継続的デプロイ ~ Tools GitLab GitLab CI/CD GitLab Runner GitLab Pages GitLab Container Registry GitLab Badges 静的サイトジェネレータ MkDocs 拡張機能 警告文 注釈 アイコンフォント PlantUML コードハイライト プロジェクトのCI/CDに組み込む ディレクトリ構成 前準備 MkD
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く