自社プロダクトの開発でJava(spring boot)を使用した際のCI/CD周りについて
- ローカル開発
- ビルドツールはmavenを使用
- Nexusリポジトリも使用(VPNを繋がないとアクセスできない)
- mavenで依存関係(ライブラリDLやNexusリポジトリの取得)を解決
- 開発の際は以下の順番
- ソースコード修正
- ビルド(コンパイル)
- アプリケーション実行の順序で開発する
- ローカル開発の際に出た疑問
- Intellijでは「ビルド」と「RUN」が分かれた項目としてあるが、違いは何?
- ビルド(全てのファイルのソースコードを機械語に)
- ビルドだけを行う
- RUN(主にアプリケーションの実行を行う)
- IntellijのRUNは同時にビルドも行ってくれる
- なのでソースコードの変更後RUNするだけでローカルテストができる
- ビルド(全てのファイルのソースコードを機械語に)
- Nexusリポジトリの取得でVPN接続が必要 -> ビルドのたびにVPNを繋がないといけない?
- 結論1回目のビルド時にVPNを繋いでおけばOK。2回目以降は必要なし
- なぜなら2回目以降は、1回目のビルドで取得したリポジトリのキャッシュを利用しているから
- Intellijでは「ビルド」と「RUN」が分かれた項目としてあるが、違いは何?
- 本番開発
- ビルド, デプロイはJenkinsが担当
- Jenkinsにmaven等の外部アプリを読み込ませることで自動的なビルドが可能
- ビルド, デプロイはJenkinsが担当