を作成するにあたって覚えておきたいことのメモを残します♪
カテゴリー: コンピューター
Linux の悪戦苦闘記、プログラミング、WordPress、ウェブサービス、Windows、Mac などの話題ですの。
環境
- Windows 7 Professional 32 bit
- git version 2.12.2.windows.2
次の環境でも OK でした♪
- Windows 10 Provessional 64 bit
- git version 2.13.0.windows.1
git-foresta インストール・設定手順
ポイント
- Redmine インストール時の db:migrate がエラーで終了してしまう。
- 結論から言えば、Ruby のバージョンが新しすぎた。
- 2017年5月2日時点での最新安定版である Redmine 3.3.2 は Ruby 2.4 をサポートしておらず、Ruby 2.3 を使用するべしとのこと。
- Defect #25460: Redmine 3.3.2 db:migrate terminate with cryptic error message – Redmine
ポイント
- PostgreSQL
yum postgresqlといった形ではなく、をリポジトリを導入してyum postgresql96-serverなどとした場合に発生した。 - 事前に bundle config することが重要だった。
- 具体的には、
bundle config build.pg --with-pg-config=/usr/pgsql-9.6/bin/pg_configを行い、次に今まで失敗していたインストールコマンドbundle install --without 'development test' --path vendor/bundleを行うことで、無事にインストールできた。
Subversion でのブランチ作成時の注意点
- コピー元ディレクトリを意識すること。trunk ディレクトリをコピーすること。branches や trunk を含むルートディレクトリで行ってはいけない。branches や trunk ディレクトリもコピーされてしまうため。
- コピー元リビジョンを意識すること。trunk にデプロイ可能なリリース資産などが置いてあるならば、単純に最新リビジョンをコピーすればよい。
- 間違えた場合に取り消すには、単純にフォルダを削除してコミットすればよい。
Subversionのコードライン~ブランチとタグの活用方法~ | バージョン管理システム入門(初心者向け) - git-svn を使用している場合、不要となった Subversion リモートブランチを削除することになる。
git svn fetchでは反映されないので。その場合、git branch -r -d origin/branch-nameと普通に削除すれば良い。
git-svn で取り残されたリモートブランチを削除するスクリプトをつくった – harunappleのブログ
ポイント
- rbenv でインストールした gem を Ansible モジュールから使う場合は、executable に gem の場所を指定する。
失敗
環境
- Windows 7 Professional 32 bit
- GitBash
悩み。grep で ** を使ってサブディレクトリを再帰的にマッチできない><
$ grep -rn "command" ./**/*.yml grep: ./**/*.yml: No such file or directory
解決。** でサブディレクトリを再帰的にマッチする設定
- login_user、login_password を設定する。
- インストール直後など、スーパーユーザにパスワードが設定されていない場合、PostgreSQL 関連モジュールでは自由に設定が可能
- しかし、一度パスワードを設定すると、今後はそのパスワードがないと PostgreSQL への変更が行えない。
- そこで、まだパスワードが設定されていなくても、login_user、login_password を明示的に指定することでこの問題を回避し、冪等性を保つことができる。
例
- patch – Apply patch files using the GNU patch tool. — Ansible Documentation
- diff & patch コマンドでのパッチを適用する方法 – hogehoge foobar Blog Style5
- Linuxエンジニアらしいパッチのつくりかた – Qiita
git diffの出力結果をファイルにしたものをパッチファイルとするイメージ。patchコマンドで作成した差分を元ファイルに適用できる。- 個人的には、変更前後の状態をひと目で把握できるし、Git に慣れているし、lineinfile モジュールや replace モジュールよりも好み。
- ファイル内の変更箇所が状況によって変わるなどの場合は、patch モジュールは不適切と思われる。
patch モジュールの使い方例
次のような警告が出るようになりました。
TASK [ruby-sw : Install Ruby via rbenv] ****************************************
[WARNING]: when statements should not include jinja2 templating delimiters
such as {{ }} or {% %}. Found: "{{ ruby_version }}" not in
installed_ruby_versions.stdout
