🗓️

GitLab CIの定期実行スケジュール機能

1 min read

はじめに

今回は GitLab CIのパイプラインのスケジューリング機能の設定手順 について記事にまとめたいと思います。

背景

CIで定義した処理を決められたスケジュールに基づいて、自動実行して欲しいケースがあったりします。

例えば、Netlifyでブログを運営していて、1日1回、決められた時間に作成した記事の内容を自動でデプロイしたい場合などが挙げられます。

上述のようなデプロイを決まった時間に、定期実行して欲しいケースに対して、GitLab CIはCIパイプラインのスケジューリング機能が用意されています。

今回は、そのスケジューリング機能の設定手順について、記事にまとめたいと思います。

スケジュール設定

サイドメニューの「CI/CD」 > 「Schedules」 > スケジュール一覧画面が表示されます。一覧画面の中から「New Schedule」ボタンをクリックするとスケジュール作成画面へ移動できます。

スケジュール設定画面で設定を行います。今回設定した項目は以下の通りです。

項目名 説明
Description スケジュールの説明
Interval Pattern スケジュールの実行パターン。以下の例では毎日0時0分に実行される
Cron Timezone スケジュールの実行パータンをタイムゾーン設定
Target Branch スケジュールの対象とするブランチ名

設定内容は、「毎日0時0分に、productionブランチを対象としたPipelineを定期実行する」 です。

実際の動作を確認

実際の動作した例が以下の添付画像です。

設定したスケジュールによって実行されるCIのパイプラインについては、最新のコミットハッシュのソースコードに基づいて、指定ブランチを対象としたパイプラインが実行されるようです。

実用例

今回、自分は productionブランチを対象としたパイプラインで「Netlifyへのデプロイ処理が実行する」 定義を行いました。

そのため今回のスケジュール機能によって、 「1日1回 0時0分」に「productionブランチの最新のコミットに基づいたソースコードの内容でビルドを行い、作成された静的サイトの内容をNetlifyにデプロイ」を定期実行する設定 が完成しました。

また、上述のGitLab CIを使ったNetlifyへの自動デプロイについては、以下の記事で詳細を記載したので、ご興味がある方は参照ください。

https://zenn.dev/ushinji/articles/6b8a182ebb57b9

終わりに

今回は、GitLabのパイプラインの定期実行スケジュール機能の内容とその設定手順について説明しました。

UIがわかりやすく、手軽に設定できる点がGitLab CIの良いところだと実感しました。

今後もGitLab CIを使いこんでいきたいと思います。

参考文献

Discussion

ログインするとコメントできます