CentOS6系にJenkinsを入れてBitbucketと連携した
土日でCI環境を作ったので備忘録を残しておきます。
色々わからず作業した箇所もあるので、TODOとして後々記事にしたいと思います。
modern react with redux やらなきゃ。
初期設定
まずはさくらのVPSに登録し、下記+αを参考にセキュリティ関連の初期設定を構築。
【さくらのVPS】サーバの初期設定ガイド – さくらのサポート情報
STEP2の一般ユーザ追加については、今後rootユーザでのログインを許容したくなかったため下記オプションをつけて追加。
#useradd -G wheel
iptablesの設定
port80(http),443(https)はACCEPTにしておくのと、Jenkinsの初期設定portは8080なのでこちらもACCEPTに。
あとは初期のssh接続だとport22がACCEPTになっていますが、セキュリティ観点で任意の数字に変えたほうがいいとのこと。
nginxの導入
apacheサーバの導入は実績があったため、今回は練習がてらwebサーバにはnginxを採用。
CentOS6.xにてnginxの最新版をインストールする手順 - Qiita
上記で特に問題なくいけます。
リバースプロキシとかのテクニックは後々ですね。
Jenkinsの導入
こちらも特に問題なくインストール。
javaのインストールだけ忘れないように。
あと、今回はCIでhtmlモックとして使いたかったためhtml publisher pluginを導入。
あとNodeJSplugin。
JenkinsとBitbucketの連携
jenkinsとbitbucketの連携 – 出来損ないエンジニアの備忘録
上記を参考にさせていただきましたが、公開鍵などの知識が薄っぺらすぎたのでちゃんと勉強します。
Bitbucketのプロフィール→設定からssh keyの設定(VPSにjenkinsユーザとしてログインしssh-keygenする。generateしたら公開鍵をBitbucketにコピペ)
Jenkinsのジョブ登録→設定から、ソースコード管理をgitにしリポジトリURL(こちらはsshのURL)、認証情報は「追加」から「sshユーザ名と秘密鍵」で上記で生成した鍵をコピペ。
これでbitbucketにソースコードがpushされたタイミングでJenkinsが自動ビルドします。
HTML reportからmockを確認できます。