はじめに
JenkinsにてRuby on Railsアプリケーションのテスト、デプロイの自動化を実施しました。
そのときに勉強になったことをまとめたいと思います。
ここでは、EC2 上に Jenkins 環境を構築するときに起こったエラーと対処を列挙しました。
綺麗にまとめることはできていませんが、URL先の記事の内容を読めば解決できるかと思います。
少しでも参考になればと思い載せさせていただきます。
関連リンク
関連リンクを下記に載せておくので、必要であれば参考にしてください。。
- Jenkins ふんわり概要
- Jenkins + Backlog + ElasticBeanstalk 連携
環境
- java + Jenkins
- git
- rbenv
- ruby (cのコンパイラを入れる。パスを通す。rbenv globa 2.6.3実行。)
L gcc-c++入れる。gem ’scss’ があったから。
※こういう環境構築作業がめんどくさい・・・。 - sudo yum install -y mysql-devel(mysql)
- rmagick
ERROR: Can't install RMagick 4.0.0. Can't find ImageMagick with pkg-config- brewをインストールhttps://qiita.com/ryokurosu/items/9898d320f7e56143b1bf
- インストール後に出てくるコードを実行して、パス通すのとgccを入れる。
- brew install imagemagick@6 -> gccエラーが出る。 -> パスが通ってなかっただけかな?
(https://qiita.com/seyself/items/65aad4ef2f88747efaa7) - brew install pkg-config -> うまくいく。
- node.js のインストール
- MySQLサーバーをインストール
- MySQLが落ちる -> Swap領域の確保
- MySQLのpassword変更
- MySQLの中でDB作成
- mysql > create database PIMENT_test;
- RSpecのテスト書き直し
- DBが空でもちゃんと動くように、FactoryBotからデータを生成するようにリファクタリング
- MySQLのencodingを変更
- Jenkins のビルド設定にて、rails db:drop / rails db:create / rails db:seedを追加。
- (どちらにせよtest環境でseedを追加してくれなかったから、RSpecがDBなくてもテストできるように書き換えた。)
まとめ
インフラエンジニアはこういう環境構築をしたりするのかなーと想像しながら取り組みました。
綺麗にまとまっておらずエラーを列挙しただけとなりますが、このような記事でも助けられたことがあるので軌跡として残しておきました。
(過去に取り組んだため記憶が曖昧だったため・・ご了承ください。。)