tmegos blog

Web developer

ぼくがかんがえたさいきょうのMattermost実行環境

※ただしDockerは除く

公式のアップグレードの方法だとconfig.jsondataディレクトリのコピー等が発生していろいろと面倒なので、アップグレードを簡単にするためディレクトリ構成を考えてみました。

ディレクトリ構成

/usr/local/
│   ├─ mattermost (最新のシンボリックリンク)
│   │   └── config
│   │      └─── config.json (/etc/mattermost/config.jsonのシンボリックリンク)
│   ├── mattermost-3.9.0
│   └── mattermost-3.8.0
/etc/mattermost
    ├── config.json
    └── data
  • バージョンが簡単に切り替えられるよう、mattermost本体はシンボリックリンクで最新を向くようにする
  • config.jsondataディレクトリはバージョンが変わっても使い続けるので、/etc/mattermostに退避
    • config.json"Directory""/etc/mattermost/data/"と指定する

アップデートスクリプト

gist.github.com

(非公式) GitKrakenを日本語化してみた

成果物

github.com

適用方法

以下のREADME-ja.mdにも書きましたが、パッチの適用は自己責任でお願いします
GitKrakenの動作がおかしくなったり、起動しなくなったりしても責任は負いません
動作がおかしくなった場合に備え、バックアップを必ず取ってください

続きを読む

SubGitでGitLabにSubversionの歴史を持ってくる

基本的には以下のドキュメントを読んで実行すればOK
importの場合もmirrorのドキュメントの方法を取ればbranchesなどの設定ができます。
(その場合は最後にuninstallの実行が必要)

subgit.com

続きを読む

GitとSubversionを同期してくれるSubGitを全力で推したい

会社のバージョン管理ツールをSubversonからGitへと緩やかに移行中です。
会社から求められていたのは、

  • 今までの歴史はすべて引き継ぐ
  • Git移行後もSubversionと同期を取ること(徐々にGitに慣れてもらうため)

の2つでした。

続きを読む

GitLabのリストア手順について

手順

基本的には以下の公式サイトの手順通りに行えばリストアできます。

docs.gitlab.com

注意点

BACKUPオプションはバックアップファイルの日付の部分のみを指定する。

BACKUP=timestamp_of_backup (required if more than one backup exists)

例えば以下のようにファイル名を指定すると、語尾に_gitlab_backup.tarがつけられ、ファイルが見つからない旨のエラーが発生します。

# gitlab-rake gitlab:backup:restore BACKUP=1487786527_2017_02_23_gitlab_backup.tar
The backup file 1487786527_2017_02_23_gitlab_backup.tar_gitlab_backup.tar does not exist!

正しいコマンドは以下の通り。

# gitlab-rake gitlab:backup:restore BACKUP=1487786527_2017_02_23 #日付のみ指定

パスを指定する場合も_gitlab_backup.tarは不要。
/mnt/backup/1487786527_2017_02_23_gitlab_backup.tarにファイルがあるとすれば以下のように指定する。

# gitlab-rake gitlab:backup:restore BACKUP=/mnt/backup/1487786527_2017_02_23

nginxでautoindexのファイル更新日時をJSTにする

autoindex_localtimeonにすると、nginxを動かしているlocaltimeで表示されるようになる。
autoindexonにするだけではグリニッジ標準時で表示されてしまうので注意。

server {
    location / {
        root   /path/to/html;
        autoindex on;
        autoindex_localtime on;
    }
}

Module ngx_http_autoindex_module