はじめに
なんとかOpenShift3.11の頃のようにYAML/JSONでProjectを一括で作成できないものか試行錯誤する日々ですが
いっこうに光が見えてきません(笑)
いろいろWebコンソールを徘徊してて、それっぽいメニュー「Create Build Config」なるものを見つけたので試しにやってみます。
- CODEREADY CONTAINERS 1.7(OpenShift 4.3.1)
AdministratorのメニューからBuild Configを作成する
Create Build Configする
WebコンソールのAdministratorのメニューを見てみると色々と並んでますね。
その中のBuilds>Build Configsをクリックすると「Create Build Config」なるボタンが出現します。
するとSampleのYAMLが出てきます!
なんだ簡単ですね。これを編集すればよいだけかな(^^♪
と思い、右側の「Samples」メニューから「Source-to-image (s2i) build
」をTry itしてみます。
Try itで現れたサンプルYAMLがこちら。apiVersion以外はほぼ見慣れた感じですね。
例では
- openshift
namespace上のruby:2.4
をベースに
- https://github.com/openshift/ruby-ex.gitのソースをビルドし
- ImageStreamにs2i-build:latest
として登録する
となってますね。
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
name: s2i-build
namespace: test
spec:
output:
to:
kind: ImageStreamTag
name: 's2i-build:latest'
source:
git:
ref: master
uri: 'https://github.com/openshift/ruby-ex.git'
type: Git
strategy:
type: Source
sourceStrategy:
from:
kind: ImageStreamTag
name: 'ruby:2.4'
namespace: openshift
env: []
triggers:
- type: ImageChange
imageChange: {}
- type: ConfigChange
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
name: s2i-build
namespace: test
spec:
output:
to:
kind: ImageStreamTag
name: 's2i-build:latest'
source:
git:
ref: master
uri: 'https://github.com/openshift/ruby-ex.git'
type: Git
strategy:
type: Source
sourceStrategy:
from:
kind: ImageStreamTag
name: 'ruby:2.4'
namespace: openshift
env: []
triggers:
- type: ImageChange
imageChange: {}
- type: ConfigChange
このシリーズのやりたいこと、phpでlaravelのためには書き換えればよいのですが
まぁまずはそのまま試していましょう!
Sampleのs2i buildを試してみる
そのまま[Create]ボタンを押せばビルドが走るはず…
Buildの詳細はBuilds>Buildsから確認します。
みるとs2i-build-1
がNewとなっているので、クリックして内容を確認します。
Logs画面を見ても一向にログが吐き出されないのでOvewviewを確認すると
ん。「Output image could not be resolved.」だって…。
ここでネットの海を徘徊したら1番目にヒットした記事に
oc create imagestream <imagestream name from build config>
しなさいとの記事が
Red Hat OpenShift: cannot build/deploy node app because “Output image could not be resolved”
はい?そのためのOutputじゃないのかな…と思いつつ試しにやってみることに。
ただし、Webコンソールから
ImageStreamを登録する
Builds>Image Streamsをクリックすると「Create Image Stream」ボタンがあったので押してみるとサンプルが出力されます。
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
name: example
namespace: test
今回出力したいイメージはs2i-build:latest
なのでname
をs2i-build
にしました。
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
name: s2i-build
namespace: test
これでImage Streamの器が用意できたイメージかな!?
Sampleのs2i buildnの様子を見てみる
もう一度Builds>Buildsに戻るとあら不思議、ステータスがRunningとなっています。
先ほど出なかったLogsを確認すると
動いていますね。
Buildが完了したらImage Streamを確認してみましょう。
Image Streams の確認
Builds>Image Streamsからs2i-build
をクリックしてHistoryを確認すると
s2i-build:latest
が出来上がってますね。
ここまで
なんだかAPIが細切れになって全体像がなかなか理解できませんね…。
徘徊の日々は当分続きそうです(笑)