自分のgithubリポジトリからAzure上のApp serviceに簡単に自動デプロイする方法。
目的としては、Azureの仮想マシンにDevOpsを使ってLaravelを自動デプロイすることだが、前段階としてAzureを触っていく。
いまだに Laravelを上げることはできていないが。
teratailにも、stack overflowにも質問を書いたが、いまだに回答がない。
参考
https://teratail.com/questions/ou8dzzmlun0g9w
しかし、chatGPTを使ってみて、それっぽい回答が得られたので少しはできそうな気がしてきた。
Azureの最初の設定などは、他で調べてほしい。
Azure DevOps Starter
これのアプリにより簡単にDevOpsを始めることができる。
Azureポータル内のDevOps Starterを選択、
今回はphpのwebサイトだけをアップしたいので、
PHPを選択し、フレームワークは使わないので、simplePHPを選択。
コンテナもLinaxも使わないので、Windows Web Appを選択。
名前や使用する組織グループ、サブスクリプションを選択し、
接続先をGitにして、作成する。
すると、github上に設定した名前で、リポジトリが作成される。
このリポジトリをクローンする。
認証エラーの出るときは、githubとの接続方法が定まっていないので、
PAT作成か、sshキーを作成する。
git init
git clone origin github@~
リモートリポジトリを設定する。
git remote add origin github@github.com~
クローンできたら、Applicationフォルダが、ルートディレクトリになるので、
このフォルダの中に、表示するファイルをアップする。
作成したファイルをpushする。
少し時間がかかるが、
Azure Portal内に作成したアプリと、DevOpsSterterのリソースが作成される。
作成された App Servieceをクリックして、URLにアクセスすると、
先ほどアップしたファイルが表示される。
左メニューのデプロイセンターを開くと、設定内容が見られる。
ログを見れば、bithub actionsでビルド&デプロイが行われているのがわかる。
この時のymlファイルは、githubにアップしたフォルダの.git内にある。
Azureにgit pushする
自分のローカル環境からファイル更新後、azureにpushする。
3分ほど時間がかかるが、URLにアクセスするとファイルが更新されているのがわかる。
このように簡単に、自動ビルド、デプロイができるのがDevOps Starterであるが、2023年3月にはサービスが終了して、コマンドラインでコマンドを打って設定するようになる。
目標のLaravelをアップするにはコンテナを使わないといけないようなので、まだまだかかりそうだ。
参考
https://www.qes.co.jp/media/Microservices/a104