JenkinsをMacのlocalhost にインストールしてみた

今回は、CI(Continuous Integration) の学習の第一歩としてJenkinsを

Mac OS にインストールしてlocalhost に立てることを行なってみた。

自分がインストールしていた時のOSのバージョン:MacOS High Sierra 10.13.6

 

Macにjenkins をインストールしたいときは大きく2パターン。

1. 公式サイトからインストールする

https://jenkins.io

 

上記URLにアクセス。Mac OS X を選択してパッケージをインストールするパターン。

 

2. homebrew を使ってインストールする。

ターミナル(自分はiTermを使用)を用いてコマンドを入力する

$ xcode-select -install

$ brew update

$ brew install jenkins

 

インストールが成功すると、以下のファイルパスが追加されているかと

/usr/local/opt/jenkins/libexec/jenkins.war

 

また、Jenkinsを起動させる際はJava8 以上が必要みたい。

なので、Java8のインストールも必要。

 

1. Oracle のパッケージをインストールするパターン

 

2. homebrew を用いて入れるパターン

$ brew cask install homebrew/cask-versions/java8

 

インストールが完了したら、jenkins.war があるパスに移動してコマンドを叩いて起動。

$ java -jar /usr/local/opt/jenkins/libexec/jenkins.war

 

 

ここでつまずいた点:

Java8をインストールしたはずなのに、Jenkinsを起動させるために以下のコマンドを叩いてもエラーがでる

$ brew services start jenkins

 

Starting Jenkins Jenkins requires Java8

 

のようなエラーメッセージが表示されてlocal にjenkinsを起動させられない。

ここで、javaのバージョンを確認したところ、Javaのバージョンが複数存在することがわかる。

 

$ java -version

java version "1.8.0_144"  ←自分がインストールしたバージョン

Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

 

どうやら今の自分のPCには大きく2つのJavaのバージョンが存在している。

1.

Macに最初から入っている(Appleが提供している)パッケージのバージョン

2.

Oracke のサイトからダウンロードしたパッケージのバージョン

 

今回はOracle(1.8.XX)のバージョンを利用したいので、JavaJDK)の参照先を切り替える必要がある。

 

Oracleからダウンロードしたパッケージがどこにあるかというと、以下のパスに存在する

$ ls -l /Library/Java/JavaVirtualMachines/

 

java_home コマンドを用いて設定ファイルに記述する

 

$ export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v “1.8”`

PATH=${JAVA_HOME}/bin:${PATH}

 

 

改めてjenkinsを起動させることに成功。

f:id:taku1008sawa:20190217213053p:plain

initial_view

 

ただ、初回起動時は管理者のパスワードを入力する必要がある。パスワードは以下のパスにあるので

コマンドを叩いてパスワードを出力しよう。

出力された文字列をコピー&ペーストで入力欄に入れてアクセスしよう!

http://localhost:8080

$ cat /Users/{ユーザ名}/.jenkins/secrets/initialAdminPassword

 

f:id:taku1008sawa:20190217213148g:plain

login_auth


今回は「Install suggested pluging」 を選択して色々とインストールしてました。


f:id:taku1008sawa:20190217213340p:plain

plugin_install

 

Jenkinsがインストールされるとこのような画面が表示されます。

f:id:taku1008sawa:20190217213440p:plain

jenkins_portal



今日はここまで」

*自分のペースで投稿しよう。

 

参考URL:

https://qiita.com/bosoboso/items/4f49d8694a4e85d459bb

https://qiita.com/hujuu/items/5bfc80c265ae7d162966

https://qiita.com/ringo/items/db58b34dc02a941b297f

https://www.buildinsider.net/enterprise/jenkins/001

仕事はじめ

仕事はじめ。少しずつ文字を書く習慣を取り戻す。

・メールチェック。勤怠記録を提出する。
・リモートルームで作業。リモートルームのPCを立ち上げるのに無駄な時間を使う。
・お客様環境にログインしてDBからレコードを抽出する。

・リモートでの作業報告をコンサルに返信。
・OpenStack上にサーバを起動、OpenStackに立てたサーバにSSH接続、サーバにwarファイルを置いて、サーバ起動時にWebサービスを立ち上げるまでの手順書を作成。(前回の続き)
・リモートルームで作業。お客様環境にログイン。(2回目)
・お客様環境で発生した不具合がdevelop環境で再現できるか検証。しかし、再現できず。再現できない可能性として、マスタデータに変更がある。
例)三菱UFJ東京 → 三菱UFJ のように銀行口座の名称を変更した。
この場合、銀行口座の名称を参照するテーブルが異なる、あるいは反映されない可能性がある。
・リモートの作業結果をコンサルに返信。
・エラー検知の内容を調査。エラーメッセージを確認。その後、DBからレコードを抽出し、レコードにデータが抜け落ちてるor 不整合が発生していないか確認。

文字に起こすと、意外と手をつけた気になる。
10:00-19:45 という勤怠を考えても十分。ただ、不具合の事象再現などはもう少し時間短縮できるようにしたい。また、エラーメッセージを読むスピードも向上したいところ。。

 

 

amazonにレビューを書くメリット

タイトルにこう書いたけど、レビューを書く側の人にメリットは特に無いようです。
amazonギフトがもらえるとかそういう特典はない模様。

ただ、amazonに書かれているレビューは、amazonのアカウントを持っていてかつ、
amazonで購入した人に限られるようです。
書店で買ったとか、立ち読みして感想をamazonのレビュー欄に書くことができないってことなんですねー。

アフィリエイト界隈で耳にするASPとは

大前提として、アフィリエイトとは成果報酬型広告のことである。
ブログ主がブログにアフィリエイト広告を設置し、ブログを見た別の人がアフィリエイト広告を経由して商品を購入した場合、利益の何割かをブログ主がキックバックしてもらえる仕組み。

ASPとは、、Affiliate Service Provider の略。
インターネットを中心にアフィリエイトを提供するサービスプロバイダのこと。

基本情報を勉強してた方はASPと言われると、Application Service Providerの略かな?
ってなるんじゃないかと、、 (自分がそうでした)

企業の広告を受け持つ広告代理店が、アフィリエイトの広告配信を扱っている。

ASPで稼ぐということは、ASPにアカウント登録を行い、ブログ主がインターネット広告を掲載する。
掲載された記事および広告を通じて商品を購入してもらう。というイメージ。
アフィリエイト界隈でいうCV(Conversionの略)。成約する。
ここまでが行われることをさす。

Ansible

AnsibleとはPythonで書かれた構成管理ツール。
Yaml形式の設定ファイルでサーバ構成を定義。
Ansibleをインストールしたホストコンピュータに、リモートホストに対してあるべき姿を定義したファイルをSSH経由で実行することで、リモートホストに変更を加えることができる。

hosts
SSH接続したいホスト名、IPアドレスを記載する
site.yml
リモートホスト側で実行するタスクを記載。(yum install XXXX)
は最低限の構成要素。


https://www.slideshare.net/dcubeio/ansible-72056386

SAML認証

シングルサインオンを実装するときに使われる仕組みのひとつ。

シングルサインオン:

例)Googleアカウントの認証を通れば、Googleのアカウント1つでTwitter等様々なサービスにサインインできるやつ。

 

シングルサインオンを実現する仕組みは複数ある。その中でも認証情報を各サービスに明け渡す必要がある。

受け渡しを実現する仕組みがSAML

security assertion markup language

XMLベースで認証情報のやり取りを行う仕組み。

 

もうちょっと調べて文字に起こしてみる。

Gsuiteとは??

Gsuite最近よく聞くし、ここらで用語の意味とかを自分なりに理解したいと思ったので箇条書きする。

 


Gmail,ドライブ、スプレッドシートなど、Googleが提供してるサービスをドメイン内のユーザーだけで利用できるサブスクリプション型のサービス。

 


ドメイン名:hoge hoge@example.co.jp

のexampleに相当する箇所。

法人だとここが会社で使うドメイン名になってると思う。

普段gmail使う場合は〇〇@gmail.com

だけど、Gsuiteでは登録したドメイン名でログインできる。(たしかにそうだな、、)

 


企業が導入する理由は、

Googleのサービスを法人内でのみ利用できるようになる。

個人で理由することも可能だが、独立したアカウント同士が存在するイメージ。

アカウント毎のアクセス制限はもちろん、

オンラインストレージのアクセスログを別々のアカウントから追うのは大変。

 


ドメイン内にいるユーザーという括りで扱う方が企業の管理がしやすい。

 


というところか。

下の記事はとても参考になりました。

 


https://jyosys-hack.info/2018/03/29/post-322/

 


次はSAMLについて調べてるか