ablog

不器用で落着きのない技術者のメモ

Jenkis を使ってみる

必要な前提条件

Prerequisites
For this tour, you will require:

  • A machine with:
    • 256 MB of RAM, although more than 512MB is recommended
    • 10 GB of drive space (for Jenkins and your Docker image)
  • The following software installed:
Getting started with the Guided Tour

インストール手順

Download and run Jenkins

  • Download Jenkins.
  • Open up a terminal in the download directory.
  • Run java -jar jenkins.war --httpPort=8080.
  • Browse to http://localhost:8080.
  • Follow the instructions to complete the installation.
Getting started with the Guided Tour

実際に試してみた手順

  • EC2 インスタンスを作成して、ssh でログインする。
    • t2.xlarge
    • EBS: 30GB
  • セキュリティグループで My IP から 8080 のインバウンドアクセスを許可する。
  • OpenJDK をインストールする。
$ sudo yum -y install java-1.8.0-openjdk-devel.x86_64
  • Jenkinsをインストールする。
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ sudo yum -y install jenkins
  • Jenkins を起動する。
$ sudo systemctl start jenkins
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • ブラウザから「パブリック DNS:8080」にアクセスし、/var/lib/jenkins/secrets/initialAdminPassword にかかれているパスワードでログインする。
    • 会社VPN経由だとアクセスできなかった。VPN 経由しないとアクセスできた。

  • "Install suggested plugins" をクリックして、推奨プラグインをインストールする。
  • Administrator ユーザーを作成する。

$ sudo systemctl stop jenkins
$ sudo shutdown -h now
  • EBS スナップショットを取得。

参考

とはいえ、いくつかまだまだJenkinsおじさんの方が有能な部分があったので挙げておきますと

  • Jenkinsおじさんはビルドの結果をSlackで通知できる
  • Jenkinsおじさんはテスト結果の推移をグラフで出せる
  • JenkinsおじさんはHTML形式のドキュメントを簡単に表示できる

まあCodeBuildからでも他のサービスを駆使したらできるんでしょうけど、やっぱりJenkinsおじさんのプラグインに比べるとハードルが高いかなと。

さようならJenkinsおじさん、こんにちはCodeBuildさん - Qiita

Jenkinsとの比較

  • AWS EC2 に Jenkins をインストールしている前提で
Jenkins AWS CodeBuild
料金 Jenkins AgentのEC2インスタンスの待機時間分 ビルド所要時間の1分ごとに請求
スケールアウト しない(EC2のスペックが限界) する
OS EC2のOSに依存 コンテナを扱えるのでビルドプロジェクトごとに構築可能
脱Jenkins! AWS Codebuildを使ってフロントエンド環境をS3にデプロイする - Qiita