sinctechmemo

個人的メモ

CentOS6系にJenkinsを入れてBitbucketと連携した

土日でCI環境を作ったので備忘録を残しておきます。
色々わからず作業した箇所もあるので、TODOとして後々記事にしたいと思います。
modern react with redux やらなきゃ。

構成

・さくらVPS(CentOS 6.9 final)
・Jenkins v2.89
・Bitbucket(今回はprivate repo)

初期設定

まずはさくらの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を確認できます。

TODO

・公開鍵と秘密鍵の勉強
CentOSのセキュリティ設定を勉強し再精査
・JenkinsのPipekine化