💬
AppRun 専有型のデプロイに便利なアクションを作ってみた
先日、さくらのクラウドで AppRun 専有型の提供が開始されました。これにより、閉域環境でのコンテナ実行環境が容易に構築出来るようになります。
クラスタとオートスケーリンググループ・ロードバランサーなどの設定をあらかじめしておけば、アプリケーションを定義してアプリケーションバージョンを定義するだけでアプリケーションをどんどんデプロイできるので便利です。
さて、近年では、アプリケーションのデプロイには github actions を利用している方も多いかと思います。github actions でイメージをビルドして、それをシュッとクラウド環境にデプロイするところまでを workflow_dispatch で行う、というようなフローも一般的かなと思います。
さて、このような場合に、AppRun専有型に最新のイメージが更新された旨を通知しなくてはなりません。AppRun専有型はAPIを提供しているので、APIを呼べば良いのですが、API をいくつも呼ぶのはちょっと大変です。
そこで、github actions 用の設定を用意してみました(現時点ではこれは僕個人が提供しているOSSのソフトウェアです。無保証。)。
以下のように設定すれば、デプロイワークフローのできあがりです。簡単ですね。
name: Deploy to AppRun
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
- name: Update AppRun application
uses: tokuhirom/apprun-dedicated-update-image-action@v1
with:
applicationID: ${{ vars.APPLICATION_ID }}
sakuraAccessToken: ${{ vars.SAKURA_ACCESS_TOKEN }}
sakuraAccessTokenSecret: ${{ secrets.SAKURA_ACCESS_TOKEN_SECRET }}
image: ghcr.io/${{ github.repository }}:${{ github.sha }}
- name: Show deployed version
run: echo "Deployed version ${{ steps.update.outputs.activeVersion }}"
お気軽にご利用ください。
Discussion