デジタル トランスフォーメーションを加速 お客様がデジタル トランスフォーメーションに乗り出したばかりでも、あるいはすでに進めている場合でも、Google Cloud は困難な課題の解決を支援します。
![DevOps の能力 | Cloud アーキテクチャ センター | Google Cloud](https://cdn-ak-scissors.b.st-hatena.com/image/square/c89db55604b10609fc306beb52444f728fbdbdb6/height=288;version=1;width=512/https%3A%2F%2Fcloud.google.com%2F_static%2Fcloud%2Fimages%2Fsocial-icon-google-cloud-1200-630.png%3Fhl%3Dja)
株式会社サイバーエージェントでバックエンドエンジニアをしている江頭です。 今回、私たちのチームにトランクベース開発という手法を取り入れることによって、デリバリーの速度と開発効率が上がり1日に多いときで15回以上本番デプロイができました。 この記事では、トランクベース開発とはどのような手法なのかご説明したあとに、実際に導入してわかったことをご紹介したいと思います。 トランクベース開発とは トランクベース開発とは、ソースコードのバージョン管理手法です。現在一般的な手法であるGitflowでは、機能毎にブランチを作成し 1つの機能実装が完了するまでそのブランチで作業し、コードレビュー完了後に各役割ごとに存在するブランチへマージします。 Gitflowでは1つのブランチへ長時間にわたり変更を加えるため、次のような課題があります。 メインブランチへのマージの際に差分が多くコンフリクトが発生する可能性
こんにちは、Red Hatでソリューションアーキテクトをしている石川です。 最近色々なカンファレンスやWebの記事などでトランクベース開発について目にする機会が増えてきました。 トランクベース開発とは、一言で言えばGitを使った開発におけるブランチ戦略の一種です。Gitのブランチ戦略というと有名なものであれば、Git FlowやGitHub Flowなどがありますが、トランクベース開発は、CICDと組み合わせた開発の効率化や高頻度のデプロイという点で昨今注目を集めています。 本記事ではそんなトランクベース開発についてご紹介したいと思います。 そもそもなぜブランチ戦略が必要か? トランクベース開発の説明をする前に、そもそもブランチ戦略とは何かについて考えてみましょう。 例えば、一人で個人的なプロジェクトに取り組む場合、Gitで複数のブランチを使う動機はほぼ無いでしょう。アプリケーションを開発
【Git】git-flowを知ろう! 利用時のルールについて 仕事効率化 相変わらずGit勉強中です。 今回はGitを活用する上で重要となるモデル、ルールであるgit-flowについて整理していきます。 なお、弊社でもgit-flowをベースに管理を行っています。 1.git-flowとはgit-flowとはGitにおけるリポジトリの分岐モデルであり、ルールのことを指します。 それぞれのブランチを明確に定義し、複数人での開発時にそれぞれが好き勝手にブランチを作成し混乱することを防ぎます。 下図はその概念図です。 ※Vincent Driessen氏が提唱した「A successful Git branching model」を参考に横向きに焼き直したものです。 下記は一般的な各ブランチの定義です。 master: プロダクトとしてリリースする用のブランチ。リリースしたらタグ付けする。 ※こ
それでは、以下の継続的なデリバリー パイプラインをご確認ください。この図は、開発者が各自のラップトップでコードを記述して、その変更を Bitbucket などのソース コード リポジトリにコミットする方法を示しています。コードとは、テスト対象のシステム、テスト、およびシステムのデプロイと保守に使用されるインフラストラクチャを意味します。Bitbucket Pipelines は、製品をテストからステージング、本番環境へとリリースして、これらの優れた新機能がお客様の手に渡るようにサポートします。 継続的なデリバリー パイプラインでは、本番環境の直前に手動ゲートを設置できます。手動ゲートには人間の介入が必要で、組織にはパイプラインに手動ゲートが必要なシナリオが存在する可能性があります。手動ゲートの中には不適正なものもあれば、適正なものもあります。適正なシナリオの 1 つとして、ビジネス チーム
自動テストとは何か 自動テストは、ソフトウェア ツールを適用して、ソフトウェア製品に対して人間が手動で行うレビューおよび評価のプロセスを自動化するものです。最新のアジャイルおよび DevOps ソフトウェア プロジェクトには、初めから自動テストが含まれています。とはいえ、自動テストの真価を認めれば、それが広く普及するまでどうだったかを理解することができます。 手動でのテストが標準だったときには、ソフトウェア会社がフルタイムの QA チームを抱えていることが一般的でした。このチームは、ソフトウェア プロジェクトの機能が想定どおり動作することを示す一連の「テスト計画」や段階的なチェックリストを開発していました。次に QA チームは、ソフトウェア プロジェクトが新たにアップデートされたり、変更が加えられたりするたびにこのようなチェックリストを手動で実行し、その後、課題に対処するためのレビューおよ
トランク ベース開発とは、開発者が細かく頻繁なアップデートをコア「トランク」または main ブランチにマージするバージョン管理手法です。これによってマージと統合の各フェーズが合理化されるため、CI/CD の実現、ソフトウェア デリバリーと組織パフォーマンスの向上に役立ちます。 ソフトウェア開発の初期には、プログラマーは現代のバージョン管理システムほど豊富な機能を利用できませんでした。その代わり、変更を追跡して必要に応じて元に戻す手段として、2 つのバージョンのソフトウェアを同時に開発していました。次第に、このプロセスは労働力とコストがかかって非効率であることが明らかになりました。 バージョン管理システムが成熟するにつれてさまざまな開発スタイルが登場して、プログラマーがバグを簡単に見つけて同僚と並行してコーディングし、リリース間隔を短縮できるようになりました。今日、ほとんどのプログラマーは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く