0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【GitHubActions】workflow_dispatchとcronのサンプル

Posted at

はじめに

GitHub Actionsは、ビルド、テスト、およびデプロイメント パイプラインを自動化できる継続的インテグレーションおよび継続的デリバリープラットフォームです。
基本的にGitHub上で動いてくれるので、Jenkinsなどのように自前のサーバを用意してワークフロー等を実行する必要のないところが嬉しいです(学習コスト的にも)

ワークフローとは

GitHub Actionsのワークフローは、ソフトウェア開発ライフサイクルタスク(SDLC)を自動化するためにリポジトリにて設定するプロセス(?)です。
このワークフローを使用すると、いろんなプロジェクトをビルド、テスト、パッケージリリース、およびデプロイできます。
ワークフローの記述スタイルとしては、YAMLで書けるようになっています。

本記事では

本記事では、ワークフローを実行するにあたっての使用することのできるトリガー(workflow_dispatch, cron)について書いてみます。

workflow_dispatch(手動実行が可能)をトリガーとするワークフロー

下記は、ワークフローを手動で実行する際のファイル。
URLからアクセスし、Manual Hello Echo を押下し、Run Workflow を選択して実行をするとワークフローが動作するはずです。
できなかったら、自分ので試してみてください。

name: Manual Hello Echo

on:
  workflow_dispatch:  # 手動実行のトリガー

jobs:
  say-hello:
    runs-on: ubuntu-latest
    steps:
      - name: Echo Hello
        run: echo "hello"
  • workflow_dispatch イベントを使用して手動実行可能に
  • 単純に "hello" という文字列をecho

URL:https://github.com/yyoosshh/sandbox-githubactions/actions

cron(定期実行)をトリガーとするワークフロー

下記は、毎時0分に echo を実行するワークフローです。

name: Hourly Time Echo

on:
  schedule:
    - cron: '0 * * * *'  # 毎時0分に実行

jobs:
  echo-time:
    runs-on: ubuntu-latest
    steps:
      - name: Get current time
        run: echo "Current time is $(date)"
  • schedule イベントを使用して、cron式で毎時0分に実行されるように設定
  • date コマンドを使用して現在時刻を出力

ワークフローが配置されているレポジトリ

こちらのレポジトリに上述したワークフローが配置されており、cronは定期実行されています。

URL:https://github.com/yyoosshh/sandbox-githubactions/actions/workflows/cron-workflow.yaml

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?