カランのブログ

Kalan 頭像照片,在淡水拍攝,淺藍背景

四零二曜日電子報上線啦!訂閱訂起來

ソフトウェアエンジニア / 台湾人 / 福岡生活
このブログはRSS Feed をサポートしています。RSSリンクをクリックして設定してください。技術に関する記事はコードがあるのでブログで閲覧することをお勧めします。

今のモード ライト

我會把一些不成文的筆記或是最近的生活雜感放在短筆記,如果有興趣的話可以來看看唷!

記事のタイトルや概要は自動翻訳であるため(中身は翻訳されてない場合が多い)、変な言葉が出たり、意味伝わらない場合がございます。空いてる時間で翻訳します。

Github アクションをプロジェクトに取り込む方法

GitHub Actionsの一言で表現すると

GitHubに組み込まれたCI/CDツール。

![github-actions](/img/Screenshot_2020-05-02 kjj6198 animal-crossing-info.png "github-actions")

概要

以前はCIを行うために、チーム内でCircleCI、DroneCI、Jenkinsなどの解決策について議論(喧嘩)する必要がありました。しかし、チームがコードをGitHubにホストするだけで、GitHubと簡単に統合できます。万能薬や鬼門とは言えませんが、一般的なテストの実行やプッシュとデプロイなどのシナリオでは、比較的簡単に達成できると思います。以下で説明します。

導入方法

プログラムのルートディレクトリに .github/workflows/your-workflow.yml の記述ファイルを追加するだけです。

関連リソース

始める前に、いくつかのドキュメントリンクを直接提供します。ドキュメントを読み終えてから作業を開始したい場合は、次のリンクを参照してください:

自分のプロジェクトにGitHub Actionsを追加する方法

workflowには複数のjobsがあります。ジョブ自体は複数のステップで構成され、ステップはGitHubアクション、コマンドの実行などができます。以下は例です:

name: your-name

# 使用できるイベントはドキュメントを参照してください
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#on
on:
  push:
    branches:
      - master
    paths-ignore: # このignoreを使用すると、ファイルを変更してもGitHub Actionsがトリガーされないことがあります
      - 'docs/**'
      - 'README.md'
      - 'LICENSE'
      - 'CONTRIBUTING.md'
    branches-ignore:
      - 'xxxx'
    tags-ignore:
      - 'v1.*'
env: # 環境変数を設定
  PROJECT_ID: ${{ secrets.PROJECT_ID }}
  RUN_REGION: asia-northeast2
  SERVICE_ACCOUNT: ${{ secrets.SERVICE_ACCOUNT }}

jobs:
  setup-build-and-deploy:
    name: Setup gcloud and deploy
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
        with:
          version: '290.0.1'
          project_id: ${{ secrets.PROJECT_ID }}
          service_account_email: ${{ secrets.SA_EMAIL }}
          server_account_key: ${{ secrets.SA_KEY }}
          export_default_credentials: true
      - name: Deploy
        run: |-
          echo $SERVICE_ACCOUNT > /tmp/key.json && \
          gcloud auth activate-service-account --key-file /tmp/key.json && \
          gcloud app deploy --project "$PROJECT_ID"

より高度な場合、実行時に動的に判断する場合は、次のように記述できます:https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions

env:
  my_env_var: ${{ ALPHA ? 'A' : 'B' }}

GitHub Actionsは実行中にいくつかのコンテキストを提供します。

環境変数

環境変数は、プロジェクトのシークレット内で設定できます。デフォルトでは、Collaboratorのみがシークレットを見ることができ、他の人はGitHub Actionsにシークレットをプルリクエストできません。

Github Secret

この記事は、GitHub Actionsの使い方を手軽にメモしたものであり、次回の設定はより迅速に行えるでしょう。

次の記事

スヴェルト・ノート (2): コンパイラはあなたが散らかすよりも賢い

前の記事

CSS の 1 行でスムーズなスクロールを行う方法

この文章が役に立つと思うなら、下のリンクで応援してくれると大変嬉しいです✨

Buy me a coffee