SlideShare a Scribd company logo
CIデモ環境 構築手順書
日本仮想化技術 1
CIデモ環境 構築手順書
バージョン:1.3
2016年02月03日
日本仮想化技術株式会社
CIデモ環境 構築手順書
日本仮想化技術 2
変更履歴
バージョン 更新日 更新内容
1.0 2015/11/11 初版
1.1 2015/11/18 デモ環境の構築手順(4章)の追加
1.2 2016/02/03 パブリックに公開
1.3 2016/02/03 挿絵を追加
CIデモ環境 構築手順書
日本仮想化技術 3
目次
1. 構成情報
1.1 システムの構成
1.2 バージョン構成
2. Jenkinsサーバーのセットアップ
2.1 OSの最新化
2.2 Javaのインストール
2.3 Jenkinsのインストール
2.4 gitクライアントのインストールと初期設定
2.5 ファイアーウォールの設定
2.6 Jenkinsの起動
2.7 Ansibleのインストール
2.8 Serverspecのインストール
2.9 Jenkins の初期設定
3. GitLabサーバーのセットアップ
3.1 OSの最新化
3.2 必要なパッケージのインストールと設定
3.3 GitLabパッケージのインストール
3.4 GitLabの初期設定
3.5 root パスワードの設定
3.6 ユーザーの作成
4. デモ環境の構築
4.1 ソースファイルの初期設定
4.2 GitHabへのファイルのアップロード(Push)
4.3 Jenkinsジョブの作成
4.4 デプロイターゲットへの公開 登録
5. ジョブの実行
CIデモ環境 構築手順書
日本仮想化技術 4
本書ではJenkins、Ansible、Serverspec、GitLabを利用したCI(Continuous Integration)デモ環境
を構築する手順を解説しています。
本書の手順に従ってセットアップすることで、アプリケーションのデプロイやシステムの状態の
確認、管理を行うためのJenkins、Jenkinsから指示を受けてアプリケーションデプロイメントを
実際に処理するAnsible、そしてAnsibleが実行する処理を記述したスクリプトであるAnsible
Playbookを管理するGitlab環境を構築することができます。
今回構築するCIシステムの構成
CIデモ環境 構築手順書
日本仮想化技術 5
1. 構成情報
1.1 システムの構成
本環境は以下に述べるサーバーで構成しています。
Jenkinsサーバー(jenkins)
本環境ではJenkinsを使用して定型ジョブを管理します。
また、パッケージのインストールなど各ノードへのコマンドの実行はAnsible、サーバーの自動
テストにはServerspecを利用します。
IPアドレスは192.168.1.10/24を利用します。
GitLabサーバー(gitlab)
Jenkinsのジョブで使用するシェルスクリプトやAnsible Playbookのバージョン管理を行います。
Ansible PlaybookとはAnsibleを使ってデプロイしたい構成を記述するものです。ルールに則って
記述すれば、パッケージのインストール、アプリケーションの設定、システムの更新などを自動
化できます。また、同じOSとバージョン上で実行するのであればAnsible Playbookを使ってデプ
ロイメントすることで全く同じ環境を何度も構築することができます。
IPアドレスは192.168.1.20/24を利用します。
デプロイターゲット(target–1/target–2)
Jenkinsによりアプリケーションのデプロイメントを実行する対象のサーバーです。本書では2台
のサーバーを用意します。OSはCentOS 7をインストールし、IPアドレスの設定なども事前に行
っておきます。
IPアドレスは192.168.1.101/24と192.168.1.102/24を利用します。
CIデモ環境 構築手順書
日本仮想化技術 6
作業用マシン(desktop)
Gitlab作業用にLinux/UNIXコマンドが実行できる環境を推奨します。本例ではCentOS 7に
GNOMEをインストールしたマシンを用意します。ブラウザー作業もこのクライアント上で行い
ます。gitコマンドを利用するので、事前にyum install gitでコマンドをインストールしてお
いてください。
IPアドレスは192.168.1.0/24の範囲のネットワークに接続し、任意のIPアドレスを設定します。
1.2 バージョン構成
本書では以下のソフトウェアバージョンを用いて環境構築できることを確認しています。
コンポーネント バージョン
CentOS release 7.2.1511
Jenkins 1.642
Ansible 1.9.4–1
GitLab 8.1.2
Serverspec 2.29.1
CIデモ環境 構築手順書
日本仮想化技術 7
2. Jenkinsサーバーのセットアップ
2.1 OSの最新化
あらかじめCentOS 7をインストールしたサーバーを用意し、yumコマンドでOSの最新化を実行
します。
jenkins# yum update
2.2 Javaのインストール
JenkinsはJavaを使用しているため、yumコマンドを使ってopenjdkパッケージをインストールし
ます。
jenkins# yum install java-1.7.0-openjdk
2.3 Jenkinsのインストール
jenkins-ci.orgで公開しているリポジトリを追加し、Jenkinsをインストールします。
jenkins# curl http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo -o /etc/yum.re
pos.d/jenkins.repo
jenkins# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
jenkins# yum install jenkins
2.4 gitクライアントのインストールと初期設定
yumコマンドでgitクライアントをインストールします。
jenkins# yum install git
CIデモ環境 構築手順書
日本仮想化技術 8
2.5 ファイアーウォールの設定
Jenkinsサーバーが使用するポートを開放します。
jenkins# firewall-cmd --add-port=8080/tcp --zone=public --permanent
jenkins# firewall-cmd --reload
TCP/8080ポートが開き、ファイアーウォールが正しく設定されていることを確認します。
jenkins# firewall-cmd --zone=public --list-ports
8080/tcp
2.6 Jenkinsの起動
Jenkinsサービスの起動と自動起動の有効化を設定します。
jenkins# systemctl start jenkins
jenkins# chkconfig jenkins on
ブラウザでJenkinsのトップページへアクセスできることを確認します。
http://[IPアドレス]:8080/
2.7 Ansibleのインストール
EPELリポジトリーを追加し、JenkinsサーバーへAnsibleをインストールします。
jenkins# yum install epel-release && yum update
jenkins# yum install ansible
CIデモ環境 構築手順書
日本仮想化技術 9
2.8 Serverspecのインストール
ServerspecはRubyGemsで公開されているため、まずyumコマンドでRubyGemsパッケージをイ
ンストールします。
jenkins# yum install rubygems rubygem-rake
gemコマンドでserverspecパッケージをインストールします。
jenkins# gem install serverspec
gemはRuby用のパッケージ管理システムです。正式にはRubygemsと言うものです。一般的なパ
ッケージ管理システムと同様、インストール(gem install)、アップデート(gem update)、検索
(gem search)、アンインストール(gem uninstall)などといった処理をサポートしています。
2.9 Jenkins の初期設定
セキュリティ設定
Jenkinsのデフォルト設定ではジョブの作成や実行がだれでも行えるようになっているため、ユ
ーザーを作成してセキュリティ設定を変更します。
ユーザーの作成
Jenkins内で使用するユーザーアカウントを作成します。
ブラウザでJenkinsのトップページへアクセス
メニューより [Jenkinsの管理] - [グローバルセキュリティの設定] をクリック
[セキュリティの有効化] にチェック
[アクセス制御] の [ユーザー情報] で [Jenkinsのユーザーデータベース] を選択
[権限管理] で [ログイン済みユーザーに許可] を選択
「保存」をクリック
ユーザー名とパスワードの画面に遷移するので、「アカウントを登録」をクリックしてユ
ーザーを作成
CIデモ環境 構築手順書
日本仮想化技術 10
3. GitLabサーバーのセットアップ
3.1 OSの最新化
あらかじめCentOS 7をインストールしたサーバーを用意し、yumコマンドでOSの最新化を実行
します。
gitlab# yum update
3.2 必要なパッケージのインストールと設定
Gitlabのインストールを始めるにあたり事前に必要なパッケージのインストールと初期設定を行
います。
まず、必要なパッケージがインストール済みかどうか確認します。
gitlab# yum list installed | egrep "curl|openssh-server|postfix"
インストール済みの場合はSSHサーバーとPostfixサーバーがサービスが起動していることを確認
してください。インストールされていない場合は以下のようにコマンドを実行して、パッケージ
のインストールとファイアウォールの設定を行います。
gitlab# yum install curl openssh-server
gitlab# systemctl enable sshd
gitlab# systemctl start sshd
gitlab# yum install postfix
gitlab# systemctl enable postfix
gitlab# systemctl start postfix
gitlab# firewall-cmd --permanent --add-service=http
gitlab# systemctl reload firewalld
3.3 GitLabパッケージのインストール
GitLab.comで公開しているリポジトリーを登録しGitLabをインストールします。
gitlab# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/sc
ript.rpm.sh | bash
gitlab# yum install gitlab-ce
CIデモ環境 構築手順書
日本仮想化技術 11
3.4 GitLabの初期設定
通知メールのドメインをデフォルトから切り替えます。ここではIPアドレスを指定します。
その他設定を変更した項目があれば設定を書き換えます。
gitlab# vi /etc/gitlab/gitlab.rb
...
external_url 'http://192.168.1.20'
書き換えが終わったら、Gitlabの初期設定コマンドを実行します。
gitlab# gitlab-ctl reconfigure
コマンド実行後に、ブラウザでGitLabへアクセスできることを確認します。
URL: http://192.168.1.20/
アカウント:
Username: root
password: 5iveL!fe ← 仮パスワード
3.5 root パスワードの設定
ログイン後、画面に従いrootアカウントのパスワードを設定します。Current passwordに前の手
順で入力した仮パスワードを入力し、新しいパスワードを2回入力して「Set new password」を
クリックします。
パスワード設定後に一旦ログイン画面へ戻るので、設定したパスワードを入力してログインしま
す。
CIデモ環境 構築手順書
日本仮想化技術 12
3.6 ユーザーの作成
以下の手順でGitlabの一般ユーザーを作成します。
構築したGitHabへブラウザでアクセスし、rootアカウントでログイン
ページ右上の [Admin area] アイコンをクリック
「Users」の項目のなかから [NEW USER] ボタンをクリック
本名、ユーザー名、メールアドレス等必要な情報を入力し [CREATE USER] ボタンをクリ
ック
メールが届くのでURLを確認してリンクをクリック
ユーザーのパスワードを2回入力して設定
ログインできることを確認する
CIデモ環境 構築手順書
日本仮想化技術 13
4. デモ環境の構築
4.1 ソースファイルの初期設定
ソースファイルを展開し、IPアドレス等の環境依存となる部分を変更します。
ソースファイルの展開
ソースファイルを任意のディレクトリへ展開します。
desktop$ unzip ci-demo-src.zip
desktop$ unzip spec-demo-master.zip
desktop$ mkdir bin && mv *.zip bin/
デプロイ先ノードの設定
以下のファイルを編集してデプロイ先のIPアドレスまたはホスト名を入力します。
Jenkins 対象ノードの設定
desktop$ vi ci-demo-master/hosts
192.168.1.101 ← デプロイターゲット1
192.168.1.102 ← デプロイターゲット2
CIデモ環境 構築手順書
日本仮想化技術 14
Serverspec 対象ノードの設定
desktop$ vi spec-demo-master/properties.yaml
192.168.1.101: ← デプロイターゲット1
:roles:
- base
- apache
- php
- web_contents
192.168.1.102: ← デプロイターゲット2
:roles:
- base
- apache
- php
- web_contents
※デプロイターゲットはJenkinsによりサーバーを構築するターゲットサーバーを指定します。タ
ーゲットサーバーにセットアップする処理を定義します。
デモ用Webコンテンツの変更
各ノードへ配信するデモ用Webコンテンツを変更する場合は以下のファイルを差し替えます。
ci-demo-master/roles/copy_web_contents/files/index.html
配信するファイルを増やしたい場合は以下のファイルを編集します。
ci-demo-master/roles/copy_web_contents/tasks/main.yaml
spec-demo-master/spec/web_contents/contents_spec.rb
CIデモ環境 構築手順書
日本仮想化技術 15
4.2 GitHabへのファイルのアップロード(Push)
構築したGitLab上にプロジェクトを作成しソースファイルをアップロードします。アップロード
元として利用するクライアントはGitクライアントが使用できる環境であればどの端末からでも
可能ですが、GitLabへSSH認証 を登録する必要があります。
SSH認証 の作成と登録
GitLabへ登録するSSH認証 をJenkinsユーザーで作成します。パスワードなしでログインでき
るようにするため、パスワード入力が求められたらEnterを押して続行します。
jenkins# sudo -u jenkins ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
The key fingerprint is:
0a:17:a2:b8:a0:02:8d:a2:2c:90:ea:82:09:bc:8f:35 jenkins@Jenkins
The key's randomart image is:
+--[ RSA 2048]----+
| |
| + |
| o = |
| . o = . |
| S + o |
| . . o + .|
| O.o.o|
| o.E.oo|
| ... ..|
+-----------------+
作成した公開 を確認します。
jenkins# cat /var/lib/jenkins/.ssh/id_rsa.pub
作業用マシンからGitlabにソースのアップロードをできるようにするため、作業用マシンでもパ
スワードなしのSSH認証 を作成します。
desktop$ ssh-keygen
desktop$ cat ~/.ssh/id_rsa.pub
CIデモ環境 構築手順書
日本仮想化技術 16
SSH公開 の登録
先ほど作成した公開 を任意のユーザーでログインしてGitLabへ登録します。
GitLabへブラウザでアクセスし、任意のアカウントでログイン
左サードバーメニューの [Profile Setting] をクリック
左サードバーメニューより [SSH Keys] をクリック
[ADD SSH KEY] ボタンをクリック
Key欄へ先ほど作成した公開 を貼り付け、[ADD KEY]をクリック
GitLabへSSH公開 登録後、クライアント側へGitLabサーバーのフィンガープリントを登録する
ため、一度SSHコマンドで接続します。
jenkins# sudo -u jenkins ssh git@192.168.1.20
...
Are you sure you want to continue connecting (yes/no)? yes
"yes" を回答しフィンガープリントを登録 ↑
Warning: Permanently added '192.168.1.20' (ECDSA) to the list of known hosts.
PTY allocation request failed on channel 0
Welcome to GitLab, vtj-taguchi! ← GitLabのユーザー名が表示されることを確認
Connection to 192.168.1.20 closed.
※192.168.1.20はGitLabサーバーのIPアドレスを指定します。
プロジェクトの作成
本環境では、GitLab上で2つのプロジェクトを作成しソースを管理します。各プロジェクトの詳
細は以下のとおりです。
プロジェクト名 用途
ci-demo Ansible Playbook のソースを管理
spec-demo 自動テスト(Serverspec)のソースを管理
CIデモ環境 構築手順書
日本仮想化技術 17
作成手順
構築したGitHabへブラウザでアクセスし、任意のアカウントでログイン
ページ左上の [Dashboard]アイコンをクリック
[NEW PROJECT]ボタンをクリック
Project pathにプロジェクト名を入力後、Visibility Levelは[Public]を選択し [CREATE
PROJECT] をクリック
GitLabへソースファイルをアップロード
ci-demo-masterとspec-demo-masterへファイルをアップロード(Push)します。ユーザー名、パ
スワードは先の手順でSSH を登録した任意のユーザーを設定します。
desktop$ git config --global user.name "[ユーザー名]"
desktop$ git config --global user.email "[メールアドレス]"
desktop$ cd ci-demo-master
desktop$ git init
desktop$ git remote add origin git@192.168.1.20:[GitLabユーザー名]/ci-demo.git
desktop$ git add .
desktop$ git commit -m '1st commit.'
desktop$ git push -u origin master
desktop$ cd ../spec-demo-master
desktop$ git init
desktop$ git remote add origin git@192.168.1.20:[GitLabユーザー名]/spec-demo.git
desktop$ git add .
desktop$ git commit -m '1st commit.'
desktop$ git push -u origin master
※192.168.1.20はGitLabサーバーのIPアドレスを指定します。
CIデモ環境 構築手順書
日本仮想化技術 18
4.3 Jenkinsジョブの作成
デモ用のジョブを作成します。作成するジョブは以下のとおりです。
ジョブ名
使用コンポー
ネント
内容
apache-
php
Ansible
yumコマンドでApacheとPHPのパッケージをインストール
し初期設定を行います。
serverspec Serverspec ノードのデプロイが正しく完了したか確認します。
ブラウザでJenkinsのトップページへアクセスしログイン
左のメニューより「新規ジョブ作成」をクリック
ジョブ名欄にジョブ名を入力、作成項目は「フリースタイル・プロジェクトのビルド」を
選択し、OKボタンをクリック
「設定」の画面ではビルド項目内の [ビルド手順の追加] - [シェルの実行] をクリック
表示されるテキストボックスに下記に記述しているスクリプトを記入し [保存] ボタンをク
リック
CIデモ環境 構築手順書
日本仮想化技術 19
apache-php ジョブ用スクリプト
if [ -e ci-demo ]; then
cd ci-demo
git pull origin master
else
git clone git@192.168.1.20:[GitLabユーザー名]/ci-demo.git
cd ci-demo
fi
ansible-playbook -i hosts apache-php.yaml -v
※192.168.1.20はGitLabサーバーのIPアドレスを指定します。
spec-demo ジョブ用スクリプト
if [ -e spec-demo ]; then
cd spec-demo
git pull origin master
else
git clone git@192.168.1.20:[GitLabユーザー名]/spec-demo.git
cd spec-demo
fi
rake
※192.168.1.20はGitLabサーバーのIPアドレスを指定します。
CIデモ環境 構築手順書
日本仮想化技術 20
4.4 デプロイターゲットへの公開 登録
JenkinsサーバーへインストールしたAnsibleがデプロイターゲットへリモート接続してコマンド
を実行するため、デプロイターゲットそれぞれのSSH公開 をJenkinsサーバーに登録します。
jenkins# sudo -u jenkins ssh-copy-id root@[デプロイ先のIPアドレス]
...
Are you sure you want to continue connecting (yes/no)? yes
"yes" を回答しフィンガープリントを登録 ↑
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out a
ny that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted no
w it is to install the new keys
root@xxx.xxx.xxx.xxx's password: ← デプロイ先ノードのrootパスワードを入力
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@xxx.xxx.xxx.xxx'"
and check to make sure that only the key(s) you wanted were added.
CIデモ環境 構築手順書
日本仮想化技術 21
5. ジョブの実行
作成したJenkinsのジョブはWeb UIから実行します。手順は以下のとおりです。
ブラウザでJenkinsのトップページへアクセスしてログイン
ログイン後表示される右側のジョブ一覧より起動したいジョブをクリック
左側のメニューより「ビルド実行」をクリック
ジョブを実行すると左下の「ビルド履歴」欄に新しいタスクが表示されます。タスクをクリック
して「コンソール出力」をクリックするとジョブを実行したときのコンソールログを確認するこ
とができます。
ジョブ一覧
CIデモ環境 構築手順書
日本仮想化技術 22
コンソール出力(例)

More Related Content

What's hot

KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
 
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
Masaya Tahara
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
Hiroyuki Wada
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
 
Jitsi Meetとは?
Jitsi Meetとは?Jitsi Meetとは?
Jitsi Meetとは?
Masahito Zembutsu
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
 
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoyaLXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
Masahide Yamamoto
 
CircleCI vs. CodePipeline
CircleCI vs. CodePipelineCircleCI vs. CodePipeline
CircleCI vs. CodePipeline
HonMarkHunt
 
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
Eiji Sasahara, Ph.D., MBA 笹原英司
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
Masahito Zembutsu
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
NTT DATA Technology & Innovation
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
Masahito Zembutsu
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 

What's hot (20)

KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 
Jitsi Meetとは?
Jitsi Meetとは?Jitsi Meetとは?
Jitsi Meetとは?
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoyaLXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
 
CircleCI vs. CodePipeline
CircleCI vs. CodePipelineCircleCI vs. CodePipeline
CircleCI vs. CodePipeline
 
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 

Viewers also liked

自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
baroqueworksdev
 
Trac/Subversion/JUnit/Maven/Jenkinsで構築する開発スタイル
Trac/Subversion/JUnit/Maven/Jenkinsで構築する開発スタイルTrac/Subversion/JUnit/Maven/Jenkinsで構築する開発スタイル
Trac/Subversion/JUnit/Maven/Jenkinsで構築する開発スタイルShuji Watanabe
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
Hidetoshi Hirokawa
 
文書をコードとして扱う
文書をコードとして扱う文書をコードとして扱う
文書をコードとして扱う
Recruit Technologies
 
Document Writing in CI Environment
Document Writing in CI EnvironmentDocument Writing in CI Environment
Document Writing in CI Environment
Recruit Technologies
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 
Jenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue OceanJenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue Ocean
Akihiko Horiuchi
 

Viewers also liked (7)

自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
 
Trac/Subversion/JUnit/Maven/Jenkinsで構築する開発スタイル
Trac/Subversion/JUnit/Maven/Jenkinsで構築する開発スタイルTrac/Subversion/JUnit/Maven/Jenkinsで構築する開発スタイル
Trac/Subversion/JUnit/Maven/Jenkinsで構築する開発スタイル
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
 
文書をコードとして扱う
文書をコードとして扱う文書をコードとして扱う
文書をコードとして扱う
 
Document Writing in CI Environment
Document Writing in CI EnvironmentDocument Writing in CI Environment
Document Writing in CI Environment
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
Jenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue OceanJenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue Ocean
 

Similar to CIデモ環境 構築手順書

QCon北京2015 sina jpool-微博平台自动化运维实践
QCon北京2015 sina jpool-微博平台自动化运维实践QCon北京2015 sina jpool-微博平台自动化运维实践
QCon北京2015 sina jpool-微博平台自动化运维实践
Weibo Corporation
 
SC2012 VMM SP1 Update ヒーロー島 版
SC2012 VMM SP1 Update ヒーロー島 版SC2012 VMM SP1 Update ヒーロー島 版
SC2012 VMM SP1 Update ヒーロー島 版
Kishima Masakazu
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
 
Windows Server 2019 で Container を使ってみる
Windows Server 2019 で Container を使ってみるWindows Server 2019 で Container を使ってみる
Windows Server 2019 で Container を使ってみる
Kazuki Takai
 
AMD Opteron 6200シリーズ 仮想化環境ベンチマーク検証 結果報告書
AMD Opteron 6200シリーズ 仮想化環境ベンチマーク検証 結果報告書AMD Opteron 6200シリーズ 仮想化環境ベンチマーク検証 結果報告書
AMD Opteron 6200シリーズ 仮想化環境ベンチマーク検証 結果報告書
VirtualTech Japan Inc.
 
Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介
shigeya
 
サーバー設定自動化は経営課題
サーバー設定自動化は経営課題 サーバー設定自動化は経営課題
サーバー設定自動化は経営課題
Maho Takara
 
Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}
Norio Sashizaki
 
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tipsde:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
Masayuki Ozawa
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
Takashi Kanai
 
Windows 展開の自動化ツール - Microsoft Deployment Toolkit
Windows 展開の自動化ツール - Microsoft Deployment ToolkitWindows 展開の自動化ツール - Microsoft Deployment Toolkit
Windows 展開の自動化ツール - Microsoft Deployment Toolkit
shigeya
 
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座
Hiroaki Oikawa
 
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
TFセミナー マイクロソフト製品で作る Web インフラ 基本編TFセミナー マイクロソフト製品で作る Web インフラ 基本編
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
hirookun
 
Nano Server First Step
Nano Server First StepNano Server First Step
Nano Server First Step
Kazuki Takai
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
Takashi Kanai
 
OSSを活用したIaCの実現
OSSを活用したIaCの実現OSSを活用したIaCの実現
OSSを活用したIaCの実現
Trainocate Japan, Ltd.
 
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019
Kazuki Takai
 
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
decode2016
 
160625 cloud samurai_adds_migration_160625
160625 cloud samurai_adds_migration_160625160625 cloud samurai_adds_migration_160625
160625 cloud samurai_adds_migration_160625
wintechq
 

Similar to CIデモ環境 構築手順書 (20)

QCon北京2015 sina jpool-微博平台自动化运维实践
QCon北京2015 sina jpool-微博平台自动化运维实践QCon北京2015 sina jpool-微博平台自动化运维实践
QCon北京2015 sina jpool-微博平台自动化运维实践
 
SC2012 VMM SP1 Update ヒーロー島 版
SC2012 VMM SP1 Update ヒーロー島 版SC2012 VMM SP1 Update ヒーロー島 版
SC2012 VMM SP1 Update ヒーロー島 版
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
Windows Server 2019 で Container を使ってみる
Windows Server 2019 で Container を使ってみるWindows Server 2019 で Container を使ってみる
Windows Server 2019 で Container を使ってみる
 
AMD Opteron 6200シリーズ 仮想化環境ベンチマーク検証 結果報告書
AMD Opteron 6200シリーズ 仮想化環境ベンチマーク検証 結果報告書AMD Opteron 6200シリーズ 仮想化環境ベンチマーク検証 結果報告書
AMD Opteron 6200シリーズ 仮想化環境ベンチマーク検証 結果報告書
 
Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介
 
サーバー設定自動化は経営課題
サーバー設定自動化は経営課題 サーバー設定自動化は経営課題
サーバー設定自動化は経営課題
 
Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}
 
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tipsde:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
Windows 展開の自動化ツール - Microsoft Deployment Toolkit
Windows 展開の自動化ツール - Microsoft Deployment ToolkitWindows 展開の自動化ツール - Microsoft Deployment Toolkit
Windows 展開の自動化ツール - Microsoft Deployment Toolkit
 
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座
 
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
TFセミナー マイクロソフト製品で作る Web インフラ 基本編TFセミナー マイクロソフト製品で作る Web インフラ 基本編
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
 
Nano Server First Step
Nano Server First StepNano Server First Step
Nano Server First Step
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
 
OSSを活用したIaCの実現
OSSを活用したIaCの実現OSSを活用したIaCの実現
OSSを活用したIaCの実現
 
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019
 
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
 
160625 cloud samurai_adds_migration_160625
160625 cloud samurai_adds_migration_160625160625 cloud samurai_adds_migration_160625
160625 cloud samurai_adds_migration_160625
 
Version管理 1
Version管理 1Version管理 1
Version管理 1
 

More from VirtualTech Japan Inc.

5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
VirtualTech Japan Inc.
 
エンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指しますエンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指します
VirtualTech Japan Inc.
 
KubeVirt 201 How to Using the GPU
KubeVirt 201 How to Using the GPUKubeVirt 201 How to Using the GPU
KubeVirt 201 How to Using the GPU
VirtualTech Japan Inc.
 
KubeVirt 101
KubeVirt 101KubeVirt 101
今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門
VirtualTech Japan Inc.
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
VirtualTech Japan Inc.
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
VirtualTech Japan Inc.
 
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
VirtualTech Japan Inc.
 
5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは
VirtualTech Japan Inc.
 
hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計
VirtualTech Japan Inc.
 
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
VirtualTech Japan Inc.
 
Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版
VirtualTech Japan Inc.
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
VirtualTech Japan Inc.
 
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
VirtualTech Japan Inc.
 
KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告
VirtualTech Japan Inc.
 
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
VirtualTech Japan Inc.
 
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
VirtualTech Japan Inc.
 
Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義
VirtualTech Japan Inc.
 
Edge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesEdge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and Kubernetes
VirtualTech Japan Inc.
 

More from VirtualTech Japan Inc. (20)

5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
 
エンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指しますエンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指します
 
KubeVirt 201 How to Using the GPU
KubeVirt 201 How to Using the GPUKubeVirt 201 How to Using the GPU
KubeVirt 201 How to Using the GPU
 
KubeVirt 101
KubeVirt 101KubeVirt 101
KubeVirt 101
 
今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
 
5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは
 
hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計
 
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
 
Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
 
KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告
 
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
 
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
 
Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義
 
Edge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesEdge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and Kubernetes
 

Recently uploaded

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (16)

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

CIデモ環境 構築手順書

  • 1. CIデモ環境 構築手順書 日本仮想化技術 1 CIデモ環境 構築手順書 バージョン:1.3 2016年02月03日 日本仮想化技術株式会社
  • 2. CIデモ環境 構築手順書 日本仮想化技術 2 変更履歴 バージョン 更新日 更新内容 1.0 2015/11/11 初版 1.1 2015/11/18 デモ環境の構築手順(4章)の追加 1.2 2016/02/03 パブリックに公開 1.3 2016/02/03 挿絵を追加
  • 3. CIデモ環境 構築手順書 日本仮想化技術 3 目次 1. 構成情報 1.1 システムの構成 1.2 バージョン構成 2. Jenkinsサーバーのセットアップ 2.1 OSの最新化 2.2 Javaのインストール 2.3 Jenkinsのインストール 2.4 gitクライアントのインストールと初期設定 2.5 ファイアーウォールの設定 2.6 Jenkinsの起動 2.7 Ansibleのインストール 2.8 Serverspecのインストール 2.9 Jenkins の初期設定 3. GitLabサーバーのセットアップ 3.1 OSの最新化 3.2 必要なパッケージのインストールと設定 3.3 GitLabパッケージのインストール 3.4 GitLabの初期設定 3.5 root パスワードの設定 3.6 ユーザーの作成 4. デモ環境の構築 4.1 ソースファイルの初期設定 4.2 GitHabへのファイルのアップロード(Push) 4.3 Jenkinsジョブの作成 4.4 デプロイターゲットへの公開 登録 5. ジョブの実行
  • 4. CIデモ環境 構築手順書 日本仮想化技術 4 本書ではJenkins、Ansible、Serverspec、GitLabを利用したCI(Continuous Integration)デモ環境 を構築する手順を解説しています。 本書の手順に従ってセットアップすることで、アプリケーションのデプロイやシステムの状態の 確認、管理を行うためのJenkins、Jenkinsから指示を受けてアプリケーションデプロイメントを 実際に処理するAnsible、そしてAnsibleが実行する処理を記述したスクリプトであるAnsible Playbookを管理するGitlab環境を構築することができます。 今回構築するCIシステムの構成
  • 5. CIデモ環境 構築手順書 日本仮想化技術 5 1. 構成情報 1.1 システムの構成 本環境は以下に述べるサーバーで構成しています。 Jenkinsサーバー(jenkins) 本環境ではJenkinsを使用して定型ジョブを管理します。 また、パッケージのインストールなど各ノードへのコマンドの実行はAnsible、サーバーの自動 テストにはServerspecを利用します。 IPアドレスは192.168.1.10/24を利用します。 GitLabサーバー(gitlab) Jenkinsのジョブで使用するシェルスクリプトやAnsible Playbookのバージョン管理を行います。 Ansible PlaybookとはAnsibleを使ってデプロイしたい構成を記述するものです。ルールに則って 記述すれば、パッケージのインストール、アプリケーションの設定、システムの更新などを自動 化できます。また、同じOSとバージョン上で実行するのであればAnsible Playbookを使ってデプ ロイメントすることで全く同じ環境を何度も構築することができます。 IPアドレスは192.168.1.20/24を利用します。 デプロイターゲット(target–1/target–2) Jenkinsによりアプリケーションのデプロイメントを実行する対象のサーバーです。本書では2台 のサーバーを用意します。OSはCentOS 7をインストールし、IPアドレスの設定なども事前に行 っておきます。 IPアドレスは192.168.1.101/24と192.168.1.102/24を利用します。
  • 6. CIデモ環境 構築手順書 日本仮想化技術 6 作業用マシン(desktop) Gitlab作業用にLinux/UNIXコマンドが実行できる環境を推奨します。本例ではCentOS 7に GNOMEをインストールしたマシンを用意します。ブラウザー作業もこのクライアント上で行い ます。gitコマンドを利用するので、事前にyum install gitでコマンドをインストールしてお いてください。 IPアドレスは192.168.1.0/24の範囲のネットワークに接続し、任意のIPアドレスを設定します。 1.2 バージョン構成 本書では以下のソフトウェアバージョンを用いて環境構築できることを確認しています。 コンポーネント バージョン CentOS release 7.2.1511 Jenkins 1.642 Ansible 1.9.4–1 GitLab 8.1.2 Serverspec 2.29.1
  • 7. CIデモ環境 構築手順書 日本仮想化技術 7 2. Jenkinsサーバーのセットアップ 2.1 OSの最新化 あらかじめCentOS 7をインストールしたサーバーを用意し、yumコマンドでOSの最新化を実行 します。 jenkins# yum update 2.2 Javaのインストール JenkinsはJavaを使用しているため、yumコマンドを使ってopenjdkパッケージをインストールし ます。 jenkins# yum install java-1.7.0-openjdk 2.3 Jenkinsのインストール jenkins-ci.orgで公開しているリポジトリを追加し、Jenkinsをインストールします。 jenkins# curl http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo -o /etc/yum.re pos.d/jenkins.repo jenkins# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key jenkins# yum install jenkins 2.4 gitクライアントのインストールと初期設定 yumコマンドでgitクライアントをインストールします。 jenkins# yum install git
  • 8. CIデモ環境 構築手順書 日本仮想化技術 8 2.5 ファイアーウォールの設定 Jenkinsサーバーが使用するポートを開放します。 jenkins# firewall-cmd --add-port=8080/tcp --zone=public --permanent jenkins# firewall-cmd --reload TCP/8080ポートが開き、ファイアーウォールが正しく設定されていることを確認します。 jenkins# firewall-cmd --zone=public --list-ports 8080/tcp 2.6 Jenkinsの起動 Jenkinsサービスの起動と自動起動の有効化を設定します。 jenkins# systemctl start jenkins jenkins# chkconfig jenkins on ブラウザでJenkinsのトップページへアクセスできることを確認します。 http://[IPアドレス]:8080/ 2.7 Ansibleのインストール EPELリポジトリーを追加し、JenkinsサーバーへAnsibleをインストールします。 jenkins# yum install epel-release && yum update jenkins# yum install ansible
  • 9. CIデモ環境 構築手順書 日本仮想化技術 9 2.8 Serverspecのインストール ServerspecはRubyGemsで公開されているため、まずyumコマンドでRubyGemsパッケージをイ ンストールします。 jenkins# yum install rubygems rubygem-rake gemコマンドでserverspecパッケージをインストールします。 jenkins# gem install serverspec gemはRuby用のパッケージ管理システムです。正式にはRubygemsと言うものです。一般的なパ ッケージ管理システムと同様、インストール(gem install)、アップデート(gem update)、検索 (gem search)、アンインストール(gem uninstall)などといった処理をサポートしています。 2.9 Jenkins の初期設定 セキュリティ設定 Jenkinsのデフォルト設定ではジョブの作成や実行がだれでも行えるようになっているため、ユ ーザーを作成してセキュリティ設定を変更します。 ユーザーの作成 Jenkins内で使用するユーザーアカウントを作成します。 ブラウザでJenkinsのトップページへアクセス メニューより [Jenkinsの管理] - [グローバルセキュリティの設定] をクリック [セキュリティの有効化] にチェック [アクセス制御] の [ユーザー情報] で [Jenkinsのユーザーデータベース] を選択 [権限管理] で [ログイン済みユーザーに許可] を選択 「保存」をクリック ユーザー名とパスワードの画面に遷移するので、「アカウントを登録」をクリックしてユ ーザーを作成
  • 10. CIデモ環境 構築手順書 日本仮想化技術 10 3. GitLabサーバーのセットアップ 3.1 OSの最新化 あらかじめCentOS 7をインストールしたサーバーを用意し、yumコマンドでOSの最新化を実行 します。 gitlab# yum update 3.2 必要なパッケージのインストールと設定 Gitlabのインストールを始めるにあたり事前に必要なパッケージのインストールと初期設定を行 います。 まず、必要なパッケージがインストール済みかどうか確認します。 gitlab# yum list installed | egrep "curl|openssh-server|postfix" インストール済みの場合はSSHサーバーとPostfixサーバーがサービスが起動していることを確認 してください。インストールされていない場合は以下のようにコマンドを実行して、パッケージ のインストールとファイアウォールの設定を行います。 gitlab# yum install curl openssh-server gitlab# systemctl enable sshd gitlab# systemctl start sshd gitlab# yum install postfix gitlab# systemctl enable postfix gitlab# systemctl start postfix gitlab# firewall-cmd --permanent --add-service=http gitlab# systemctl reload firewalld 3.3 GitLabパッケージのインストール GitLab.comで公開しているリポジトリーを登録しGitLabをインストールします。 gitlab# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/sc ript.rpm.sh | bash gitlab# yum install gitlab-ce
  • 11. CIデモ環境 構築手順書 日本仮想化技術 11 3.4 GitLabの初期設定 通知メールのドメインをデフォルトから切り替えます。ここではIPアドレスを指定します。 その他設定を変更した項目があれば設定を書き換えます。 gitlab# vi /etc/gitlab/gitlab.rb ... external_url 'http://192.168.1.20' 書き換えが終わったら、Gitlabの初期設定コマンドを実行します。 gitlab# gitlab-ctl reconfigure コマンド実行後に、ブラウザでGitLabへアクセスできることを確認します。 URL: http://192.168.1.20/ アカウント: Username: root password: 5iveL!fe ← 仮パスワード 3.5 root パスワードの設定 ログイン後、画面に従いrootアカウントのパスワードを設定します。Current passwordに前の手 順で入力した仮パスワードを入力し、新しいパスワードを2回入力して「Set new password」を クリックします。 パスワード設定後に一旦ログイン画面へ戻るので、設定したパスワードを入力してログインしま す。
  • 12. CIデモ環境 構築手順書 日本仮想化技術 12 3.6 ユーザーの作成 以下の手順でGitlabの一般ユーザーを作成します。 構築したGitHabへブラウザでアクセスし、rootアカウントでログイン ページ右上の [Admin area] アイコンをクリック 「Users」の項目のなかから [NEW USER] ボタンをクリック 本名、ユーザー名、メールアドレス等必要な情報を入力し [CREATE USER] ボタンをクリ ック メールが届くのでURLを確認してリンクをクリック ユーザーのパスワードを2回入力して設定 ログインできることを確認する
  • 13. CIデモ環境 構築手順書 日本仮想化技術 13 4. デモ環境の構築 4.1 ソースファイルの初期設定 ソースファイルを展開し、IPアドレス等の環境依存となる部分を変更します。 ソースファイルの展開 ソースファイルを任意のディレクトリへ展開します。 desktop$ unzip ci-demo-src.zip desktop$ unzip spec-demo-master.zip desktop$ mkdir bin && mv *.zip bin/ デプロイ先ノードの設定 以下のファイルを編集してデプロイ先のIPアドレスまたはホスト名を入力します。 Jenkins 対象ノードの設定 desktop$ vi ci-demo-master/hosts 192.168.1.101 ← デプロイターゲット1 192.168.1.102 ← デプロイターゲット2
  • 14. CIデモ環境 構築手順書 日本仮想化技術 14 Serverspec 対象ノードの設定 desktop$ vi spec-demo-master/properties.yaml 192.168.1.101: ← デプロイターゲット1 :roles: - base - apache - php - web_contents 192.168.1.102: ← デプロイターゲット2 :roles: - base - apache - php - web_contents ※デプロイターゲットはJenkinsによりサーバーを構築するターゲットサーバーを指定します。タ ーゲットサーバーにセットアップする処理を定義します。 デモ用Webコンテンツの変更 各ノードへ配信するデモ用Webコンテンツを変更する場合は以下のファイルを差し替えます。 ci-demo-master/roles/copy_web_contents/files/index.html 配信するファイルを増やしたい場合は以下のファイルを編集します。 ci-demo-master/roles/copy_web_contents/tasks/main.yaml spec-demo-master/spec/web_contents/contents_spec.rb
  • 15. CIデモ環境 構築手順書 日本仮想化技術 15 4.2 GitHabへのファイルのアップロード(Push) 構築したGitLab上にプロジェクトを作成しソースファイルをアップロードします。アップロード 元として利用するクライアントはGitクライアントが使用できる環境であればどの端末からでも 可能ですが、GitLabへSSH認証 を登録する必要があります。 SSH認証 の作成と登録 GitLabへ登録するSSH認証 をJenkinsユーザーで作成します。パスワードなしでログインでき るようにするため、パスワード入力が求められたらEnterを押して続行します。 jenkins# sudo -u jenkins ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa. Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub. The key fingerprint is: 0a:17:a2:b8:a0:02:8d:a2:2c:90:ea:82:09:bc:8f:35 jenkins@Jenkins The key's randomart image is: +--[ RSA 2048]----+ | | | + | | o = | | . o = . | | S + o | | . . o + .| | O.o.o| | o.E.oo| | ... ..| +-----------------+ 作成した公開 を確認します。 jenkins# cat /var/lib/jenkins/.ssh/id_rsa.pub 作業用マシンからGitlabにソースのアップロードをできるようにするため、作業用マシンでもパ スワードなしのSSH認証 を作成します。 desktop$ ssh-keygen desktop$ cat ~/.ssh/id_rsa.pub
  • 16. CIデモ環境 構築手順書 日本仮想化技術 16 SSH公開 の登録 先ほど作成した公開 を任意のユーザーでログインしてGitLabへ登録します。 GitLabへブラウザでアクセスし、任意のアカウントでログイン 左サードバーメニューの [Profile Setting] をクリック 左サードバーメニューより [SSH Keys] をクリック [ADD SSH KEY] ボタンをクリック Key欄へ先ほど作成した公開 を貼り付け、[ADD KEY]をクリック GitLabへSSH公開 登録後、クライアント側へGitLabサーバーのフィンガープリントを登録する ため、一度SSHコマンドで接続します。 jenkins# sudo -u jenkins ssh git@192.168.1.20 ... Are you sure you want to continue connecting (yes/no)? yes "yes" を回答しフィンガープリントを登録 ↑ Warning: Permanently added '192.168.1.20' (ECDSA) to the list of known hosts. PTY allocation request failed on channel 0 Welcome to GitLab, vtj-taguchi! ← GitLabのユーザー名が表示されることを確認 Connection to 192.168.1.20 closed. ※192.168.1.20はGitLabサーバーのIPアドレスを指定します。 プロジェクトの作成 本環境では、GitLab上で2つのプロジェクトを作成しソースを管理します。各プロジェクトの詳 細は以下のとおりです。 プロジェクト名 用途 ci-demo Ansible Playbook のソースを管理 spec-demo 自動テスト(Serverspec)のソースを管理
  • 17. CIデモ環境 構築手順書 日本仮想化技術 17 作成手順 構築したGitHabへブラウザでアクセスし、任意のアカウントでログイン ページ左上の [Dashboard]アイコンをクリック [NEW PROJECT]ボタンをクリック Project pathにプロジェクト名を入力後、Visibility Levelは[Public]を選択し [CREATE PROJECT] をクリック GitLabへソースファイルをアップロード ci-demo-masterとspec-demo-masterへファイルをアップロード(Push)します。ユーザー名、パ スワードは先の手順でSSH を登録した任意のユーザーを設定します。 desktop$ git config --global user.name "[ユーザー名]" desktop$ git config --global user.email "[メールアドレス]" desktop$ cd ci-demo-master desktop$ git init desktop$ git remote add origin git@192.168.1.20:[GitLabユーザー名]/ci-demo.git desktop$ git add . desktop$ git commit -m '1st commit.' desktop$ git push -u origin master desktop$ cd ../spec-demo-master desktop$ git init desktop$ git remote add origin git@192.168.1.20:[GitLabユーザー名]/spec-demo.git desktop$ git add . desktop$ git commit -m '1st commit.' desktop$ git push -u origin master ※192.168.1.20はGitLabサーバーのIPアドレスを指定します。
  • 18. CIデモ環境 構築手順書 日本仮想化技術 18 4.3 Jenkinsジョブの作成 デモ用のジョブを作成します。作成するジョブは以下のとおりです。 ジョブ名 使用コンポー ネント 内容 apache- php Ansible yumコマンドでApacheとPHPのパッケージをインストール し初期設定を行います。 serverspec Serverspec ノードのデプロイが正しく完了したか確認します。 ブラウザでJenkinsのトップページへアクセスしログイン 左のメニューより「新規ジョブ作成」をクリック ジョブ名欄にジョブ名を入力、作成項目は「フリースタイル・プロジェクトのビルド」を 選択し、OKボタンをクリック 「設定」の画面ではビルド項目内の [ビルド手順の追加] - [シェルの実行] をクリック 表示されるテキストボックスに下記に記述しているスクリプトを記入し [保存] ボタンをク リック
  • 19. CIデモ環境 構築手順書 日本仮想化技術 19 apache-php ジョブ用スクリプト if [ -e ci-demo ]; then cd ci-demo git pull origin master else git clone git@192.168.1.20:[GitLabユーザー名]/ci-demo.git cd ci-demo fi ansible-playbook -i hosts apache-php.yaml -v ※192.168.1.20はGitLabサーバーのIPアドレスを指定します。 spec-demo ジョブ用スクリプト if [ -e spec-demo ]; then cd spec-demo git pull origin master else git clone git@192.168.1.20:[GitLabユーザー名]/spec-demo.git cd spec-demo fi rake ※192.168.1.20はGitLabサーバーのIPアドレスを指定します。
  • 20. CIデモ環境 構築手順書 日本仮想化技術 20 4.4 デプロイターゲットへの公開 登録 JenkinsサーバーへインストールしたAnsibleがデプロイターゲットへリモート接続してコマンド を実行するため、デプロイターゲットそれぞれのSSH公開 をJenkinsサーバーに登録します。 jenkins# sudo -u jenkins ssh-copy-id root@[デプロイ先のIPアドレス] ... Are you sure you want to continue connecting (yes/no)? yes "yes" を回答しフィンガープリントを登録 ↑ /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out a ny that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted no w it is to install the new keys root@xxx.xxx.xxx.xxx's password: ← デプロイ先ノードのrootパスワードを入力 Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@xxx.xxx.xxx.xxx'" and check to make sure that only the key(s) you wanted were added.
  • 21. CIデモ環境 構築手順書 日本仮想化技術 21 5. ジョブの実行 作成したJenkinsのジョブはWeb UIから実行します。手順は以下のとおりです。 ブラウザでJenkinsのトップページへアクセスしてログイン ログイン後表示される右側のジョブ一覧より起動したいジョブをクリック 左側のメニューより「ビルド実行」をクリック ジョブを実行すると左下の「ビルド履歴」欄に新しいタスクが表示されます。タスクをクリック して「コンソール出力」をクリックするとジョブを実行したときのコンソールログを確認するこ とができます。 ジョブ一覧