TeamCity触ってみた
概要
ci/cdに関してちょっと調べたくなった。
経緯
github actionsを用いてのcdなどはちょこっと整備したりしているが、ci/cdツールは今思えば全く使ったことがなかったから気になった、めんどくさがりなので楽したいから気になってたので、今回はTeamCityなるものを触る。
JetBrains製のci/cdツールらしい。
TeamCityかGithub Actionsどっちがいいか考察しているページなどもあり。
前提
そもそもCI/CDとは
「Continuous Integration/Continuous Delivery」の略であり、日本語では継続的インティグレーション/継続的デリバリーと呼ばれている。
CI/CDは以下の4つのフェーズに分かれており、
CIにて高速にSource, Build, Testを回していき、CDにて各環境に自動でDeployしていく。
- Sourceフェーズ
- ソースがデグレなく管理される
- ユーザーにとって可読性が担保される状態で管理される
- Buildフェーズ
- ソフトウェアを実行可能な状態にパッケージング
- Testフェーズ
- 安全な状態であることを担保するためのテスト実行
- Deployフェーズ
- テスト済のリソースをデプロイ
デモ
のチュートリアルを実施してみる。
内容としては、
まずはteamcityに登録した後は、create projectを選択、デフォルトのFrom a repository URL
から公開gitリポジトリを貼る。
acccess tokenとかは入力を押さずにproceedを押すと、TeamCityがリポジトリに接続して、Projectをデフォルト設定で作成してくれる。
すると、以下のようにTeamCityがビルドステップを自動検出してくれるのだが、今回はコマンドラインスクリプトを実行するために、configure build steps manually
を選択して、手動ビルドステップの構成を編集しましょう。
以下のようにjavaソースをコンパイルさせ、テスト済のjarファイルをcopyさせます。
awsのアカウントの認証方法の箇所でアクセスキーを作成してから、その情報をParameterに保存します。
specのところでType: Password
にして管理画面上から確認できないようにしましょう。
やってみたらAWS_SECRET_ACCE_KEY忘れてた。
Partial credentials found in env, missing: AWS_SECRET_ACCESS_KEY
11:24:19 Process exited with code 255
11:24:19 Process exited with code 255 (Step: Command Line)
11:24:19 Step Command Line failed
以下のように成功した結果が表示されると、
自動でjarファイルがs3に保存される。
最後に
今回やったチュートリアルはteam cityの中でも最初の最初のチュートリアルだと思うのでこれからもちょくちょくやっていきたい。
UIも綺麗で設定もやりやすいが、このチュートリアルでエラーになった際の検索がERRORで引っかからないからそこだけjarを固めているログを遡る必要があったので面倒やった笑
備考
ソフトウェア開発だけでなく、テレビ業界とかもci/cd化できたら最高ですね。
ラヴィットスタッフ達が健やかな一年を過ごせることを祈ります。
参考文献
Discussion