<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>fly.io on shibadog site</title>
    <link>https://pages.shibadog.net/tags/fly.io/</link>
    <description>Recent content in fly.io on shibadog site</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja-jp</language>
    <lastBuildDate>Wed, 06 Dec 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://pages.shibadog.net/tags/fly.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>fly.ioへspring bootアプリケーションをデプロイする</title>
      <link>https://pages.shibadog.net/posts/017_fly.io2spring-boot-01/</link>
      <pubDate>Wed, 06 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://pages.shibadog.net/posts/017_fly.io2spring-boot-01/</guid>
      <description>はじめに Qiitaのアドベントカレンダーをいつも見ていて、いつか参加してみたいと思ってました。 はじめてのアドベントカレンダーという企画があることを知ったので、今回始めて参加してみようと思います。
何がしたかったのか？ 子供のために、復習用の計算プリントをランダム生成するアプリケーションを作ってみた。
これはspring bootで作成した画面を持つWebサービスですが、なんとか無料で子供のタブレットから使えないかと、良い感じに転がす場所を探した結果 fly.io というサービスを見つけた。
デプロイまでに少しハマったので、この手順を記述した。
fly.ioとは fly.io
herokuとかと同様にPaaS環境を提供してくれるサービスの一つで、herokuの無料利用分がなくなってしまったため、移行先として上がるサービスの一つ（らしい）。
このfly.ioは、herokuと同様にコンテナを起動することでアプリケーションを動作させるため、どんな言語のアプリケーションでも、最終的にはコンテナの中で動作する仕組みとなる。
公式ドキュメントでも触れられている通り、 Dockerfile によるデプロイが一番プレーンはデプロイ方法となり、標準で対応している言語はソースの自動判定により起動イメージを選択される。
実は、fly.ioではこの自動判定に含まれないJava（Spring Boot）でのイメージデプロイをpaketo buildpacksを利用してワンタッチで行えるため、この手順を試してみる。
まずは、ソースを用意する プログラムは、 maine-coonというものを用意した。
これをクローンして試してみると良い。
ローカルで起動して、適切に動作するところまで実装をした。
&amp;gt; ./mvnw spring-boot:run -&amp;gt; http://localhost:8080/ 出来上がったらflyコマンドをインストール flyctlのインストール
fly.ioはローカルからコマンドでコントロールすることができる。
このコマンドは2種類存在しており、 fly と flyctl が存在する。
どう使い分けるのか、正直良くわからない（ぇ
&amp;gt; curl -L https://fly.io/install.sh | sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1735 0 1735 0 0 4131 0 --:--:-- --:--:-- --:--:-- 4140 ######################################################################## 100.</description>
    </item>
    
  </channel>
</rss>
