Redmineのバージョンアップ手順

Bitnami Redmine 4.0.4を4.2.2にバージョンアップした時の手順メモ

旧Redmineの作業
以下の作業を新Redmine移行前に実施する

・次ののディレクトリーの自己変更分を確認して保存しておく
  [{{OLD_HOME}}\apps\redmine\htdocs]
・接続情報を確認し退避しておく
  [{{OLD_HOME}}\apps\redmine\htdocs\config\database.yml]
・MySQL以外のサービスを停止
  [{{OLD_HOME}}\manager-windows.exe]
・Redmineコンソールを起動
  [{{OLD_HOME}}\use_redmine.bat]
・MySQLのデータをバックアップする
  [{{OLD_HOME}}\mysql\bin\mysqldump --user=bitnami --password=XXXXXXXX bitnami_redmine > {{BACKUP}}\redmine_mysql.dmp]
・次のコマンドで関連ファイルをバックアップする
  [xcopy {{OLD_HOME}}\apps\redmine\htdocs\files {{BACKUP}}\files\ /D /S /E /H /C /Y /R >> {{BACKUP}}\backup.log]
・MySQLのサービスを停止
  [{{OLD_HOME}}\manager-windows.exe]

ここでの状況
・旧Redmineの全サービスは停止
※旧サービスが停止していないとポート番号が80以外にされてしまう
・旧Redmineのソフトウェアは残

新規インストール
・インストーラーを実行し新規Redmineをインストールする
  [bitnami-redmine-4.2.2-0-windows-x64-installer.exe]
※インストール先のパスをきちんと確認する
・新データベースのパスワードを確認
  [{{NEW_HOME}}\apps\redmine\htdocs\config\database.yml]
・新RedmineのMySQL以外を停止
  [{{NEW_HOME}}\manager-windows.exe]
・データベースをリストアする
  [{{NEW_HOME}}\mysql\bin\mysql --user=bitnami --password=XXXXXXXX bitnami_redmine < {{BACKUP}}\redmine_mysql.dmp]
・データベースをマイグレーションする
  ・Redmineコンソールを起動する
    [{{NEW_HOME}}\use_redmine.bat]
  ・カレントフォルダーを変更する
    [CD {{NEW_HOME}}\apps\redmine\htdocs]
  ・コマンドを実行する
    [bundle exec rake db:migrate RAILS_ENV="production"]
・データベースをマイグレーションする2
  ・MySQLを停止する
    [{{OLD_HOME}}\manager-windows.exe]
  ・Redmineコンソールを起動する
    [{{NEW_HOME}}\use_redmine.bat]
  ・カレントフォルダーを変更する
    [CD {{NEW_HOME}}\apps\redmine\htdocs]
  ・コマンドを実行する
    [bundle exec rake tmp:cache:clear]
  ・コマンドを実行する
    [bundle exec rake tmp:sessions:clear]

後処理
・動作確認をする
・問題がなければ旧Redmineをアンインストールする

初めてのプロジェクトマネジメント ー最短理解で最大成果!

新品価格
¥1,705 から
(2021/10/10 16:27時点)


posted by tecksaver at 15:32| Comment(0) | TrackBack(0) | Redmine

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2022年09月15日

二度押し厳禁!

Vue.js で二度押しをできないように非活性にするのに苦労したので、
ネットで拾った情報をもとに実装をしてみた。
1秒待つようにしてあるけど、タイマーなしで動かせるようにはできないのかなぁ。


data: {
message: 'Thank you F.Komaki!',
isProcessing: false
},
execute() {
if (this.isProcessing) {
return;
}
this.isProcessing = true;
this.$nextTick(function () {
this.reverse()
.then(() => {
console.log("終わり");
this.isProcessing = false;
});
});
}
, reverse: function () {
return new Promise((resolve) => {
setTimeout(() => {
this.message = this.message.split('').reverse().join('')
for (var i = 0; i < 10000; i++) {
console.log(i);
}
resolve();
}, 1000);
});
}


これからはじめるVue.js 3実践入門

新品価格
¥3,740 から
(2022/9/15 00:27時点)


posted by tecksaver at 00:22| Comment(0) | TrackBack(0) | Vue.js

2022年07月19日

いまさらのCOM

COM は Component Object Model の略

ローカルでCOM登録をするためにVisualStudioは管理者で起動する
ビルドにてCOM相互運用機能の登録にチェックをつける。
アプリケーションのアセンブリ情報で、「アセンブリをCOM参照可能にする」

System.Runtime.InteropServices
公開するインターフェイスの属性に「ComVisible(true)」と記述する

[ComVisible(true)]
internal interface IComLogger
{
void WriteLog(string log);
}


作成したインターフェイスを実装したクラスを作成する
クラスの属性に「 [ClassInterface(ClassInterfaceType.None)]」を定義する


[ClassInterface(ClassInterfaceType.None)]
public class ComLogger : IComLogger
{
public ComLogger()
{
}

public void WriteLog(string log)
{
}
}


上記の記述ができたら、VBScriptから以下のように実行すれば動作する

Dim logger
Set logger = CreateObject("ClassLibrary.ComLogger") 'namespaseからなのを忘れずに
logger.WriteLog("ログ")



NLOGでログ出力するサンプル
◇インターフェイス
using System.Runtime.InteropServices;

namespace ClassLibrary
{
[ComVisible(true)]
internal interface IComLogger
{
void WriteLog(string log);
}
}


◇実装クラス

using NLog;
using NLog.Config;
using NLog.Targets;
using NLog.Targets.Wrappers;
using System.Runtime.InteropServices;
using System.Text;

namespace ClassLibrary
{
[ClassInterface(ClassInterfaceType.None)]
public class ComLogger : IComLogger
{
static readonly Logger _logger = LogManager.GetCurrentClassLogger();

public ComLogger()
{
var file = new FileTarget("LogFile");
file.Encoding = Encoding.GetEncoding("Shift_JIS");
file.Layout = "${longdate} [${threadid}] [${uppercase:${level}}] ${callsite}() - ${message}";
file.FileName = "${basedir}/logs/${date:format=yyyyMMdd}_debug.log";
file.KeepFileOpen = false; //これをtrueにしているとレスポンスが良いがログが飛んでしまう
file.ArchiveNumbering = ArchiveNumberingMode.Date;
file.ArchiveFileName = "${basedir}/logs/debug.log.{#}";
file.MaxArchiveFiles = 30;

var asyncWrapper = new AsyncTargetWrapper();
asyncWrapper.QueueLimit = 5000;
asyncWrapper.OverflowAction = AsyncTargetWrapperOverflowAction.Grow;
asyncWrapper.WrappedTarget = file;

var conf = new LoggingConfiguration();
conf.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, file));
conf.AddTarget("LogFile", asyncWrapper);

LogManager.Configuration = conf;
}

public void WriteLog(string log)
{
_logger.Info(log);
}
}
}

posted by tecksaver at 21:23| Comment(0) | TrackBack(0) | Microsoft

2022年02月07日

クライアントからの破損データ送信テスト

破損データを意図的に作って送ってみた時のコードメモ

const string sendFIleName = @"C:\Users\FileI\source\repos\ClientProject\ClientProject\Test.txt";

byte[] bs = File.ReadAllBytes(sendFIleName);
string base64String = Convert.ToBase64String(bs);


entity.fileName = Path.GetFileName(sendFIleName);
entity.fileData = base64String;

var json = JsonConvert.SerializeObject(entity);

const string targetUrl = " https://localhost:7189/Home/Test2 ";
try
{
using (var client = new HttpClient())
{
var content = new StringContent(json, Encoding.UTF8, "application/json");
var task = client.PostAsync(targetUrl, content);
var result = task.GetAwaiter().GetResult();
MessageBox.Show(result.Content.ReadAsStringAsync().GetAwaiter().GetResult());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

2021年10月10日

Redmine Gantt 無料版 の設定

ソフトウェアのダウンロード

https://www.easyredmine.jp/redmine-gantt-plugin

ソフトウェアの配置
・ダウンロードしたファイルを解凍する
・解凍したフォルダー内にある対象バージョンのzipファイルをさらに解凍する
・解凍したフォルダー内にある「easy_gantt」を[{{REDMINE_HOME}}\apps\redmine\htdocs\plugins]にコピーする

ソフトウェアのインストール
こちらの情報を参考に実施
・[{{REDMINE_HOME}}\use_redmine.bat]を実行しRedmineコンソールを起動する
・以下のコマンドを順に実行する
  ・bundle install(一回実行後は bundle update)
  ・bundle exec rake db:migrate RAILS_ENV=production
  ・bundle exec rake redmine:plugins:migrate RAILS_ENV=production
・Redmineを再起動する

ソフトウェアを使用できるようにする
※注意:トップメニューにある「Easy Gantt」は無償版ではサンプル表示しかできないので注意
 ・管理者の「設定」->「API」にある「RESTによるWebサービスを有効にする」をOnにする
 ・対象プロジェクトの「設定」->「モジュール」にある「Easy Gantt」をOnにする
  保存後プロジェクトのタブに「Easy Gantt」が表示されるのでクリックでガントチャートが表示される
インストール後のこの設定が情報があまりなく一番しんどかった


posted by tecksaver at 16:52| Comment(0) | TrackBack(0) | Redmine

2021年02月23日

Visual Studio Codeのインストール時の悩みごと

Windows10のセットアップが終わり、勉強用にIDEを使おうとしたら当然何もないことに気づく。まずはVisual Studio Codeかな?と思い、検索してダウンロードしようと思ったら、あら選択肢がたくさん。User InstallerとSystem Installerってなにね?

vscd_dl.png


調べてみたら、それぞれ名前の通りユーザーにインストールするか?システムにインストールするか?という違いのよう。インストールされるが、 ユーザーインストーラーの場合はユーザーフォルダーにインストールされる みたい。個人利用の場合はあまり恩恵はないと思うけど、会社などの共有端末の場合はありがたい仕様。インストール時の確認画面も出ないしね。

さらにARMってボタンも。何だこりゃ?調べてもちゃんと正解としての情報が見つからなかったけど、ARM社のCPUに対応したバージョンのダウンロードっぽい。わかる人からしたら常識なのかもしれないけどわからない人間には難解な選択肢。とりあえず自分はUser Installerの64bit版でいいはずなのでこれをダウンロードしてインストール。わからない事を放っておいて進めたらいいんだけど要領が悪いわ。
posted by tecksaver at 00:18| Comment(0) | TrackBack(0) | Microsoft
ファン
検索
<< 2022年09月 >>
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
Microsoft (2)
Redmine (2)
Vue.js (1)
月別アーカイブ
プロフィール
じゃわらーさんの画像
じゃわらー
日別アーカイブ
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: