GitHub Codespaces上でCode Engineを使って開発をしてみます。
いつも手順忘れる..
1. CLIツールの準備
IBM CloudのCLIをインストール
通常のGitHub CodespacesだとLinux指定になります。
$ curl -fsSL https://clis.cloud.ibm.com/install/linux | sh
これでOKです。
Code Engineのプラグインインストール
$ ibmcloud plugin install code-engine
確認してみます。
$ ibmcloud plugin list
ibmcloud plugin list
Listing installed plug-ins...
Plugin Name Version Status Private endpoints supported
code-engine[ce] 1.48.0 true
インストールできています。
IBM CloudにCLIでログイン
IBM Cloudの管理画面に記載されているワンタイムパスを使いつつログイン
$ ibmcloud login -a https://cloud.ibm.com -u passcode -p XXXXXXXXX
色々出てくるとけどエンターで進める。
2. アプリ作成前の設定
アプリケーションを作る前にリージョン -> リソースグループ -> プロジェクト
の順で設定が必要です。
リージョン指定
このまま進めるとリージョン指定で怒られるのでリージョン指定
$ ibmcloud target -r jp-tok
東京リージョンがjp-tok
リソースグループ指定
このまま進めるとリソースグループ指定で怒られるので指定します。
まずはリソースグループ一覧を調べます。
$ ibmcloud resource groups
Defaultというグループが存在したので指定します。
$ ibmcloud target -g Default
プロジェクトの指定
一覧を確認
$ ibmcloud ce project list
確認したところ特に既存プロジェクトがなさそうだったのでプロジェクト作成します。n0bisuke_project
というプロジェクトを作成します。
$ ibmcloud ce project create --name n0bisuke_project
プロジェクトの選択をします。
$ ibmcloud ce project select --name n0bsuke_project
Selecting project 'n0bisuke_project'...
OK
なんとなくcdコマンドでフォルダ内に移動したようなイメージです。
3. アプリケーション作成
いよいよアプリ作成です。
Expressサーバーを作る
nobisuke_app
というフォルダを作って
$ mkdir nobisuke_app
$ cd nobisuke_app
expressのインストールをします。
$ npm init -y
$ npm i express
nobisuke_app
フォルダ内にapp.js
ファイルを作成して以下を記述。
const express = require('express')
const app = express()
app.get('/', function (req, res) {
res.send('Hello World')
})
app.listen(3000)
これでOKです。
デプロイ
デプロイしていきます。ちなみに...
FAILED
An application name must consist of lower case alphanumeric characters, '-' and must start with an alphabetic character and end with an alphanumeric character.
アプリケーション名は小文字の英数字と'-'で構成され、英数字で始まり英数字で終わる必要があります。
として怒られるのでn0bisuke_web
みたいなのは使えずnobisuke-web
としました。
$ ibmcloud ce application create --name nobisuke-web --build-source .
これでデプロイがスタートします。
・・・
Waiting for build run to complete...
Build run status: 'Running'
Build run completed successfully.
Run 'ibmcloud ce buildrun get -n nobisuke-web-run-231117-xxxxxxxxx' to check the build run status.
Waiting for application 'nobisuke-web' to become ready.
Step 3 of 3 [============================>] 98.00%
(98%からなかなか進まないので管理画面みてみたら頑張ってる風だった。)
完了するとURLが発行されてWebサイトにアクセスできます。
参考
https://qiita.com/n0bisuke/items/b6645cc6c7709e030abc
https://qiita.com/n0bisuke/items/c6361cfef84ca15a407e