LoginSignup
4
5

More than 5 years have passed since last update.

private repository

Last updated at Posted at 2014-08-09

private なリポジトリの作り方をちょこちょこまとめていこう

docker-registry

mac 上で、boot2docker を利用してprivate なregistryを作ってみた

  • 前準備として、これからつくるregistryをinsecure-registryに登録しておく
$ boot2docker up
$ boot2docker ssh
$ echo 'EXTRA_ARGS="--insecure-registry 192.168.59.103:5000"' | sudo tee -a /var/lib/boot2docker/profile
$ sudo /etc/init.d/docker restart
  • docker-registry をインストール・起動 (/var/lib/boot2docker にしとかないと、boot2docker の再起動で消えます)
$ docker pull registry
$ docker run -d -p 5000:5000 -v /var/lib/boot2docker/registry:/tmp/registry registry

ブラウザで、http://192.168.59.103:5000 にアクセスして、"\"docker-registry server\""が表示されることを確認
(なんかしてたら、一回目起動に失敗するようになった。これっぽい https://github.com/docker/docker-registry/issues/892 )

  • golang のimage があったので、試しに登録してみた
$ docker tag golang:1.3 192.168.59.103:5000/golang:1.3
$ docker push  192.168.59.103:5000/golang:1.3

ブラウザで、http://192.168.59.103:5000/v1/search にアクセスして、golang があることを確認

RPM リポジトリの作成

  • /var/www/rpmrepo にrpmを配備しとく
# yum install createrepo
# createrepo /var/www/rpmrepo
  • http の公開
# cat << EOT > /etc/httpd/conf.d/rpmrepo.conf
Alias /rpmrepo/ "/var/www/rpmrepo/"
EOT
# service httpd restart 
  • リポジトリの登録
# cat << EOT > /etc/yum.repo.d/myreop.repo
[myrepo]
name=My private repo
baseurl=http://xx.xx.xx.xx/rpmrepo/
#baseurl=file:///var/www/rpmrepo
EOT

/var/www/rpmrepo にrpm を追加したとき

# createrepo --update /var/www/rpmrepo

gem リポジトリの作成

  • geminabox のインストール
# gem install geminabox
# cat << EOT > config.ru
require "rubygems"
require "geminabox"

Geminabox.data = "/var/geminabox-data"
run Geminabox
EOT
# rackup  <= 起動することを確認
  • サーバ起動
# gem install unicorn 
# cat << EOT > unicorn.conf
worker_processes 2
listen '/tmp/unicorn.sock'
pid    '/tmp/unicorn.pid'

stderr_path File.expand_path('unicorn.log', File.dirname(__FILE__))
stdout_path File.expand_path('unicorn.log', File.dirname(__FILE__))
preload_app true
EOT
# unicorn -c unicorn.conf -l 3000  -D <= port 3000 でデーモン起動
  • gem の登録
    • Web ページからupload か
    • gem inabox xxxx.gem か
    • gem push xxx.gem --host HOST

github 系

使ったことあるやつだけ

gitbucket

  • インストールがすごい簡単
  • 最近 plugin 機能が実装された
  • レビュー機能が充実してくれるとうれしい

gitlab

  • 機能十分
  • 以前はインストール大変だったけど、chef のレシピが公開されて大分楽になった

オンラインストレージ

ownCloud

  • PHP系のオンラインストレージ
  • 以前一回インストールしてみただけで、あんま使ってない

4
5
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
4
5