LoginSignup
6
8

More than 5 years have passed since last update.

自分のやりたい開発をやるために構成管理サーバ全般をVagrant + Ansibleでコマンド一発で立ち上がるようにしたった!

Last updated at Posted at 2017-04-06

このページについて

ライブラリ管理のススメ(概要)のほぼ続きです。
主にArtifactoryについて書きます。

動機

構成管理サーバって毎回似たようなもの入れるけど、無駄じゃない?
最近Infrastructure as Codeって流行ってるからコード化して楽しよう。

なぜVagrant + Ansibleにしたか

簡単に使えるため。
Ansibleのエージェントレスというのが特に気に入ってます。

扱わないもの

インフラのテスト

プロダクト

動作確認環境

  • OS:Windows7 Pro(64bit)、Windows10、Windows Server 2012 R2
  • RAM: 4GB ※ゲストは2GB設定

構成

色々入れていますが、Artifactoryの部分だけこのページでは扱います。
構成.png

使い方

  1. 上記のGitHubリポジトリをcloneする or zipダウンロード
  2. Vagrantをダウンロードする(1.9.3はprivateなゲストにport forwardするとIPアドレスのチェック(0.0.0.0は許さん)でエラーになるため、それ以外を入れてください(1.9.4で修正されるはず))
  3. Oracle Virtual boxをインストールする
  4. vagrantにboxを追加する
vagrant box add centos7.2 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box

5.git cloneした配下でvagrant up

ページ

永続領域

git(gitbucket)、jenkins、Artifactoryの各種データはVagrant上のゲストOS上には置いてません。
データはゲストから見た"/vagrant"配下に置くことで、ホストOS上に配置し、
サーバーの引越しなどはしやすいようにしています。
※Artifactoryだけderby使っているためデータのExportが必要

Artifactoryについて

メリット

  • 対応リポジトリがとにかく多い
  • リポジトリのアクセスをするための設定を作ってくれるので、コピペできる
  • どこがセントラルと繋がっていて、どこがローカルオンリーかがわかる
  • リポジトリが(Cache含め)持っているArtifactを見せてくれる

デメリット

  • RPMインストールすると、ディレクトリを作りすぎ&シンボリックリンク当てまくりなため、どこに何があるのかが判りづらい

Artifactoryに登録してみる

MAVENを使ってデプロイしてみます。
登録するプロダクトは以下です。
https://github.com/sh-ogawa/artifactory-demo-parent
※pom.xmlだけを登録するプロダクト

1.png
今は何も登録されていないです。
libs-snapshot-localに登録してみます。

mvn deploy -e

2.png
登録されました。
いま登録したartifactを各サブプロダクトのpomに、parentで取り込んであげれば、
いちいちサーバーの設定を入れなくて済んでスマートですね。

注意事項

別のサーバーに引っ越す場合

Artifactory以外はフォルダのコピペすればOKなのですが、
ArtifactoryのデータだけはExportが必要です。
これをやらないとderbyのチェックサムに引っかかって、データを移せないです。
3.png
4.png
ZIPファイルが出てくるので、引越し先でインポートしてあげればOK。
※同じ画面にインポートがある
5.png

最後に

ローカル環境にリポジトリを持つことを取り扱ってみました。

SIの現場でこういった環境で開発している現場は、まだまだ稀です。
その原因は「無知」な訳ですが、有識者がレッスンしても私の経験では何も変えられなかったです。
それは、環境が自分たちで用意できないことが特に大きいと感じているので、
このプロダクトで以って、色々啓蒙できたらな、と思っています。

こういう開発をしたいけどできていない人、是非このプロダクトを使って提案をしてみてください。

2017/4/8追加

プロキシで虐げられるであろう会社内では以下を行ってください。
1. vagrantfileでproxyの設定をできるようにする

どこでも良いので以下のコマンドを実行

vagrant plugin install vagrant-proxyconf

  1. Vagrantfileの最後のendの前に以下を記述

config.proxy.http = "http://ホスト:ポート"

config.proxy.https = "http://ホスト:ポート"

config.proxy.no_proxy = "localhost,127.0.0.1"

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8