読者です 読者をやめる 読者になる 読者になる

Web・IT うんたらら

業務系とWeb系の狭間でIT業界を彷徨いながら備忘録と足跡を残していきます

Delphi 10.1 Berlin Starter Editionが無料化!

Delphi

個人的にビッグニュースが舞い込んできたのでシェアしときますね。

https://www.embarcadero.com/jp/products/delphi/starter

Delphi、正直いうと仕事で仕方なく使っている部分が大きいんですが、なんだかんだでIDEとしての出来はすごくよいです。
クロスプラットフォーム(FireMonkey)の完成度や集金体型には不満しかないですが...。

今回のスターターエディションは、ざっくりいうと個人利用orごく少人数の企業で、1000ドル以上の収益を上げなければ利用可能、機能制限としてはクロスプラットフォームや64bitアプリがコンパイルできない、というもの。
ざっくり触って見た感じでは、VCL(という従来からあるGUIフレームワーク)でWindowsアプリを作るにはまったく申し分ないものになってました。

この機会にぜひどうぞ。

GitLabサーバ移行後、Issues内の添付ファイルや画像のURLを修正する

GitLab Linux

背景

ここ最近の記事で色々とメモしていたとおり、社内のGitLabサーバをクラウドに移行しました。 概ね上手く稼働していたのですが、暫定で残していた元サーバを終了させたところで問題発生。

事象

移行先のIssuesにある画像のURLが移行元のままになっており、画像や添付ファイルが全てリンク切れに。 Issuesを簡易チケット管理として使っていたため、これはちょっと困っりました。

修正手順

まぁDBだし、最悪値を直接置換してやればいいだろう...ということでやってみました。

su -s /bin/sh gitlab-psql -c '/opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql gitlabhq_production'

これでgitlab-ceのPostgreSQLのシェルが立ち上がるので、Issue関連のテーブルの中身を書き換えてあげればOK。

\d

SELECT relname, n_live_tup FROM pg_stat_user_tables WHERE schemaname='public';

なんかでそれっぽいテーブルを探すと、「issues」がイシュー本体、「notes」にコメントが格納されている模様。

ちょっと怖いですが単純にREPLACEします。※実施は自己責任でお願いします。

UPDATE issues SET description=REPLACE(description,'移行元URL','移行先URL');
UPDATE notes SET note=REPLACE(note,'移行元URL','移行先URL')
\q //終了

最後にキャッシュをクリアすれば反映されました。

gitlab-rake cache:clear

GitLabサーバ移行後にTwo-factor authentication(二段階認証)が上手くいかない問題の対処

GitLab Linux

ずっとVagrantのマシンで稼働していたGitLabをクラウドに移行中です。

移行作業自体は、こちらの記事を参考にさせていただき、そりゃあもう完璧に上手くいったのですが(ありがとうございます!)

その後Two-factor authentication(二段階認証)を設定していたユーザでログインしようとすると500番エラーが発生。

色々と調べたのですが、ターミナルから以下のコマンドで一度2段階認証周りをリセットするしかないみたい。

(実行すると全ユーザの2段階認証を解除します)

gitlab-rails console production #コンソール起動。結構待ちます
User.update_all(otp_required_for_login: false, encrypted_otp_secret: nil, encrypted_otp_secret_iv: nil, encrypted_otp_secret_salt: nil, otp_backup_codes: nil)
exit #コンソール終了

これでOK。

ポイントとして、otp_required_for_login: false だけでも2段階認証の解除自体はできるのですが、上記のように他の鍵周りを一度nilにしてリセットしてあげないと、次回二段階認証を設定しようとした場合に500番エラーが出たり謎のQRが作られたりするので注意が必要です。