![[アップデート]AWS App Runnerは、Bitbucketリポジトリからサービスをデプロイできるようになりました](https://devio2023-media.developers.io/wp-content/uploads/2023/08/aws-app-runner.png)
[アップデート]AWS App Runnerは、Bitbucketリポジトリからサービスをデプロイできるようになりました
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
AWS App Runnerは、Bitbucketリポジトリからのデプロイができるようになりました。
App Runner には、アプリケーションをデプロイするための2つの方法が用意されています。
事前に構築されたECRにあるコンテナイメージ使用してサービスをデプロイする方法と、ソースリポジトリのコードを使用してサービスをデプロイする方法です。
従来、後者の方法では、Githubリポジトリのみサポートされていましたが、Bitbucketリポジトリも利用できるようになりました。
前提条件
Bitbucketリポジトリを作成し、ソースコードは、下記の2ファイルを保存します。
Click==7.0 Flask==1.0.2 itsdangerous==1.1.0 Jinja2==2.10 MarkupSafe==1.1.1 Werkzeug==0.15.5
from flask import Flask
import os
PORT = 8080
name = os.environ['NAME']
if name == None or len(name) == 0:
name = "world"
MESSAGE = "Hello, " + name + "!"
print("Message: '" + MESSAGE + "'")
app = Flask(__name__)
@app.route("/")
def root():
print("Handling web request. Returning message.")
result = MESSAGE.encode("utf-8")
return result
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=PORT)

下記のドキュメントを参考に検証しました。
Bitbucketリポジトリからデプロイしてみた
App Runnerのサービス作成画面から、[ソースコードリポジトリ]を選択すると、Bitbucketが指定できるようになっていますので、選択します。

[新規追加]をクリックすると、Bitbucketのログイン画面がでますので、ログインします。

[アクセスを許可する]をクリックします

[別のアプリケーションをインストール]します。

[アクセスを許可する]することで、BitbucketとAWSが連携できるようになります。


BitbucketのWorkSpace内のリポジトリとブランチが表示されましたので、選択します。

構築設定では、以下の通りに入力します。
- ランタイム
Python 3
- 構築コマンド
pip install -r requirements.txtrequirements.txtに記載したをパッケージを指定のバージョンで一括インストールします
- 開始コマンド
python server.py- Webサーバの起動をしています
- ポート
8080

server.pyに環境変数を入れる箇所がありますので、App Runner側で環境変数を入れます
- ソース
- プレーンテキスト
- 環境変数名
- NAME
- 環境変数の値
- hirai
他はデフォルトのままでサービスを作成します。

デプロイが成功しました。

デフォルトドメインにアクセスすると、下記のサイトが確認できました。

一時停止や削除も簡単です。一時停止すると、料金はかかりません。

最後に
今回のアップデートでは、Bitbucketリポジトリからのデプロイができるようになりました。
私自身App Runnerは、初めて触ったのですが、ECSに比べて、簡単にデプロイできると実感しました。
GithubではなくBitbucketを利用しているユーザーにとっては、App Runnerを利用するキッカケになるアップデートですね。
参考になれば幸いです







