質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

1回答

5024閲覧

リリースした実行バイナリの保管とソースコードとの整合性を維持する方法

testset

総合スコア221

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

1グッド

1クリップ

投稿2018/05/19 14:31

聞きたいこと

バイナリリリースするうえで、リリース物として管理を行いたいが、git等に乗せてしまうと、サイズが肥大化し、clone等に時間がかかってしまうため、何か良い方法はありますでしょうか。
"こんな方法"が素晴らしかった や、試した手順での改善点等あれば教えていただけると幸いです。

背景

受託開発で複数回リリース(納品)がある案件の管理を行っています。
リリース管理を行うにあたり、バイナリをどこかに保存しておく必要がありました。

対象となったプロジェクトの言語等

  • .NET Framework 4.5 (C#) Windows-forms/WPF application
  • Spring framework 4.x target: war
  • Android project (gradle, java)

バイナリをコミットする理由は、(内部のファイルはタイムスタンプ等を持っているため、)ビルドしても前回と全く同じデータにならないためです。

試したこと1

対応:
バイナリリリース用ブランチを用意してリリースビルドの都度、マージコミットとバイナリをコミットする。
結果:
リポジトリが肥大化し、pullに時間がかかるようになってしまった。

試したこと2

対応:
CIでビルドを行い、別リポジトリへコミットする。
結果:
どれが最終リリースなのかわかりにくくなった。
ビルド時間等から類推することができるが、ソースの特定や紐づけに時間がかかるようになった。
また、リリース対象外のバイナリの間引きが難しかった。

set0gut1👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

一般に最終生成物であるbinaryはrepoには含めません。一度でも含めると永遠と肥大化したままなので、当該履歴をrebase or filterしてして取り除き、新たにremoteにrepoを作り直してpushする必要があります。

最終生成物はGithubならGithub Releaseに置くのが一般的です。その他、適当なFTP/httpサーバーに置くことが多いと思います。

とにかくでかいファイルを含めないことが肝要です。

最終生成物以外ででかいファイルを含める必要がある場合は、git-lfsの利用を検討してください。

投稿2018/05/19 14:45

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

testset

2018/05/19 15:25

適当なFTP/HTTPサーバーに置くというときは、TAG名等と一致させた名前を配置するということでしょうか。 オンプレミスであるgitサーバー(gitbucket)なので、git-lfsに対応できません...とコメントしようと思いましたが、知らぬ間に対応されたみたい (https://qiita.com/hikaruworld@github/items/c523d0d994aeee7038d6) ですので、検討いたします。
testset

2018/05/21 17:20 編集

その手もありましたか。redmine+gitbucketだったので、意識していませんでした。 保存場所を確認して移行してみようと思います。 (まるごとリリース物を突っ込むことを考えています。連携できる方法も考えてみます。) ※Gitbucketでgithub release相当の機能はv4.21.0でリリースされるようです。(会社の環境は4.1xだった...)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問