CI/CDのCIを試してみる計画
CI/CDって意味は分かるんだけど、実際何やるの?
って1.5ヶ月前は思ってました。
けど、今はもう早くやらなきゃ!!というような状況に。
理解は少しだけマシな感じになってて、
- CIがテストの自動化でCDがdeployの自動化なんだな
- gitlab runnerとかで、lintして試しにbuildしてみたいなpipelineを書いてくと
- CDはまた今度にしよう
というくらいのところまではきました。
さて、どうしようかな
私はnetworkのエンジニアなので、アプリ的なCIじゃなくて、NW関連でいこうと思います。
ansibleでshow commandだったり、configだったりをレンダーするから、その辺をやってましょう。
- playbookをgitlabのdev branchにpush
- gitlab runnerが発動
- lint stage
- lint用のコンテナ立てる(今回試したいのが訳あってansible 2.8でansible-lint非対応のため、ansible 2.9で別建てする)
- yamllintとansible-lintをかける(ansible-lintだけで充分?)
- unit test stage
- ansible2.8でtest用コンテナを立てる
- playbookとextra-varsとj2でshow commandをレンダー
- junosの機器でshow commandをお試す。機器はとりあえずAWSのmarketで調達か?
- combined test stage
- ansible2.8のAWXをコンテナで立てる(試したいversionが古くて、もう入手できないかもなぁ)
- awxkitでAWXの設定
- awxkitでAWXから実機にworkflow templateを実行してshow commandを取得
こんなところで一旦やってみます!!