Azure のDevOps Starterでphpを自動デプロイする

自分の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