GitLab CI/CDの例
このPagesには、GitLab CI/CDの実装方法を理解するのに役立つ様々な例へのリンクがあります。
例としては、いくつかの形があります:
-
.gitlab-ci.yml
GitLabで管理されているテンプレートファイルで、多くの一般的なフレームワークやプログラミング言語に対応しています。 - 様々な言語のサンプルプロジェクトを集めたリポジトリです。 フォークして自分のニーズに合わせて調整することができます。 プロジェクトには、マルチプロジェクトパイプラインのデモや、NGINXによって提供される静的サイトでのレビューアプリの使用などがあります。
- 以下はその例とその他のリソースです。
CI/CDの例
次の表は、このセクションに含まれるステップバイステップのチュートリアルを含む例の一覧です。
使用例 | リソース |
---|---|
ブラウザーパフォーマンステスト | Sitespeed.ioコンテナによるブラウザパフォーマンステスト。 |
Clojure | GitLab CI/CDでClojureアプリケーションをテストします。 |
Dplでのデプロイメント | dpl をデプロイツールとして使用 .
|
Elixir | GitLab CI/CDでPhoenixアプリケーションをテストします。 |
E2Eテスト | GitLab CI/CDとWebdriverIOを使用したエンドツーエンドのテスト。 |
ゲーム開発 | GitLab CI/CDによるDevOpsとゲーム開発。 |
GitLab Pages | 静的サイトをデプロイする完全な例については、GitLabPages ドキュメントを参照してください。 |
Spring Bootを使ったJava | GitLab CI/CDを使ってCloud FoundryにSpring Bootアプリケーションをデプロイします。 |
Mavenを使ったJava | GitLab CI/CDでMavenプロジェクトをArtifactoryにデプロイする方法。 |
PHPとPHPunit, atoum | PHPプロジェクトのテスト。 |
PHPとnpm、SCP | GitLab CI/CDでSCP経由のデプロイでComposerとNPMスクリプトを実行。 |
Laravel、Envoyを使用したPHP | GitLab CI/CDとEnvoyを使ってLaravelアプリケーションをテストし、デプロイします。 |
HerokuでPython | GitLabCI/CDを使ってPythonアプリケーションをテストし、デプロイします。 |
HerokuでRuby | GitLab CI/CDを使ってRubyアプリケーションをテストし、デプロイします。 |
HerokuでScala | Scalaアプリケーションをテストし、Herokuにデプロイします。 |
RubyとJSの並列テスト | GitLab CI/CDによるRubyとJavaScriptプロジェクトの並列ジョブテスト。 |
Vaultによる秘密管理 | Hashicorp Vaultによる認証と秘密の読み取り。 |
貢献する例
貢献者は大歓迎です!その言語のガイドを添えてマージリクエストを送れば、お気に入りのプログラミング言語ユーザーやGitLabを助けることができます。
CI/CDテンプレート
.gitlab-ci.yml
テンプレートを使って、GitLab CI/CDとお気に入りのプログラミング言語やフレームワークを始めましょう。
UIでgitlab-ci.yml
ファイルを作成する際、これらのテンプレートのいずれかを選択できます:
- Android (
Android.gitlab-ci.yml
) - Android with fastlane (
Android-Fastlane.gitlab-ci.yml
) - Bash (
Bash.gitlab-ci.yml
) - C++ (
C++.gitlab-ci.yml
) - シェフ (
Chef.gitlab-ci.yml
) - Clojure (
Clojure.gitlab-ci.yml
) - Composer
Composer.gitlab-ci.yml
- クリスタル (
Crystal.gitlab-ci.yml
) - Django (
Django.gitlab-ci.yml
) - docker (
Docker.gitlab-ci.yml
) - ドットネット (
dotNET.gitlab-ci.yml
) - ドットネットコア (
dotNET-Core.yml
) - Elixir (
Elixir.gitlab-ci.yml
) - goLang (
Go.gitlab-ci.yml
) - Gradle (
Gradle.gitlab-ci.yml
) - グレイルズ (
Grails.gitlab-ci.yml
) - iOS with fastlane (
iOS-Fastlane.gitlab-ci.yml
) - Julia (
Julia.gitlab-ci.yml
) - Laravel (
Laravel.gitlab-ci.yml
) - LaTeX (
LaTeX.gitlab-ci.yml
) - メイブン (
Maven.gitlab-ci.yml
) - Mono (
Mono.gitlab-ci.yml
) - NPM (
npm.gitlab-ci.yml
) - Node.js (
Nodejs.gitlab-ci.yml
) - OpenShift (
OpenShift.gitlab-ci.yml
) - Packer (
Packer.gitlab-ci.yml
) - PHP (
PHP.gitlab-ci.yml
) - Python (
Python.gitlab-ci.yml
) - Ruby (
Ruby.gitlab-ci.yml
) - Rust (
Rust.gitlab-ci.yml
) - Scala (
Scala.gitlab-ci.yml
) - Swift (
Swift.gitlab-ci.yml
) - Terraform (
Terraform.gitlab-ci.yml
)
プログラミング言語やフレームワークのテンプレートがこのリストにない場合、貢献することができます。 テンプレートを作成するには、https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templatesにマージリクエストを提出してください。
GitLab インストールへのテンプレートの追加
GitLab管理者は、インスタンステンプレートリポジトリを指定することができ、そのリポジトリには組織固有のインスタンスやテンプレートが含まれています。
その他のリソース
このセクションでは、GitLab CI/CDの様々な使い方に慣れるためのさらなるリソースを提供します。 古い記事やビデオは最新のGitLabリリースの状態を反映していない可能性があることに注意してください。
クラウドにおけるCI/CD
GitLab CI/CDをクラウド環境に設定する例については、こちらをご覧ください:
- GitLab CIで複数アカウントのAWS SAMデプロイを設定する方法
- GitLab CI/CDによるKubernetesデプロイの自動化
- DigitalOcean上のGitLab Runnerで継続的デプロイを自動スケールする方法
- GitLabとHelmを使ってKubernetesに自動デプロイするCI/CDパイプラインの作り方
- デモ - GitLabからOpenShiftコンテナクラスタへのデプロイ
以下の概要ビデオもご覧ください:
- Kubernetes、GitLab、Cloud Native。
- GitLab CI/CDによるIBM Cloudへのデプロイ。
お客様の声
GitLab CI/CDを使ったお客様の体験談はこちらをご覧ください:
- Verizon ConnectがGitLabを使ってデータセンターのデプロイを30日から8時間以内に短縮した方法
- ワグ!がリリース作業を40分からわずか6分に短縮した方法
- ジャガー・ランドローバーがCIを導入してソフトウェア・ライフサイクルを加速させた方法
利用を開始
いくつかの例をご覧ください:
GitLab CI/CDの導入
GitLab CI/CDを導入した他の事例については、こちらをご覧ください:
- マルチプロジェクトパイプラインで複数のリポジトリ間のやり取りを効率化する方法
- GitLab CIを使ってGitLabを高速に構築した方法
- GitLabのCIでDockerを使った全てのテストを例として紹介します。
- 職人が見た継続的インテグレーション
- GoツールとGitLab: 継続的インテグレーションを上司のように行う方法
- GitBot - 退屈なGitオペレーションをCIで自動化
- GitLab CI for Vue.js の使い方
- ビデオ:GitLab CI/CD ディープダイブ
- GitLabレビューアプリのDocker化
- GitLab CIによる高速で自然な継続的インテグレーション
- デモ: GitLabによるCI/CDの実践
サードパーティ CI ツールから GitLab への移行
GitLab CI/CDと他のシステムとのインテグレーション
GitLab CI/CDとサードパーティのシステムをインテグレーションする方法については、こちらをご覧ください:
- Sentryの新しいGitLabインテグレーションでエラーの修復を合理化し、短縮します。
- GitLab CI/CDでスマートホームの設定を簡素化する方法
- デモ: GitLab + Jira + Jenkins
- GitLabのAuto Breakfastの紹介(のようなもの)
モバイル開発者
モバイルアプリケーション開発に GitLab CI/CD を使う方法については、こちらをご覧ください: