Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

成果物のDeployについて #481

Open
jakenjarvis opened this issue Sep 24, 2018 · 9 comments
Open

成果物のDeployについて #481

jakenjarvis opened this issue Sep 24, 2018 · 9 comments
Labels
CI appveyor など CI 関連 【ChangeLog除外】

Comments

@jakenjarvis
Copy link

はじめまして。いつも愛用させて頂いています。
たまたま他プロジェクトのappveyor.ymlの編集作業中に検索していたら、これ (Issue109: appveyor の成果物の zip 圧縮を検討する) を見ることになり、現在の master: appveyor.yml を確認して気になったので投稿します。

現在、AppVeyorから成果物をダウンロードするように案内されていますが、成果物をどこかにDeployしたほうが良いと思います。
(おそらく6か月で消す話は、容量圧迫というよりかは・・・そもそもCIの役目はアップローダーではなく、ビルド&テストを行うことで、成果物はDeployしてしまう想定なのでしょう。なので「CI上はしばらく残ってればよい(開発者確認用)」という考えなのだと思います)

TravisもAppVeyorも、Deployに対応しているアップロード先は多数ありますので、検討しては如何でしょうか。(成果物はArtifact、Deploy先はProviderと呼ばれていますね)

で。UP先として手っ取り早いのは、GitHub Releasesです。

既に手動で sakura-editor GitHub Releases にも、いくつかUPされていますが、CIから自動でここにUPするように構成することができます。
イメージとしては、git操作でmasterブランチに「v2.3.2.0」のようなタグを付けPushすると、Releaseビルドの成果物だけGitHub ReleasesにUPする・・・といった動きが出来ます。

丁度、私自身のC#プロジェクトで、TravisでDeployするように構成した後(Windows固有の機能を追加したため)Travisのubuntu mono上でのビルドが困難になり、AppVeyorに乗り換えたところです。
手前味噌ですが、同じことをやっている .travis.ymlappveyor.yml が、参考になるかと思います。
(.travis.ymlは凍結、appveyor.ymlは修正中ですが概ね動くことは確認してます)

これまでの経緯を知らずに投稿していますので、もし失礼がありましたらお許しください。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 24, 2018

@jakenjarvis さん。Issue投稿ありがとうございます。

おっしゃるとおり現在のAppVeyorの成果物は、「CI上はしばらく残ってればよい(開発者確認用)」の位置づけです。
なのでまれに動かないものもあるかもしれません。

現在カンバンを起ててReleaseに向けメンバー活動中かと存じます。
正式リリース版についてはバージョンを確定しTag打ちと連動してデプロイを自動化する案があがっております。

この度は貴重なご意見ありがとうございます。
またなにかございましたらお気軽にご意見およせください。

@beru beru added the CI appveyor など CI 関連 【ChangeLog除外】 label Sep 25, 2018
@jakenjarvis
Copy link
Author

@KENCHjp さん、回答ありがとうございます。
「Tag打ち連動デプロイ」が既に話題にあがっていたのですね。失礼しました(汗)
改めて、ざっとCIラベルの付いたIssue見てみたところ、これ #205 かな?っという感じです。

あと、カンバンを確認しようとしたのですが、 ProjectOperation にあるリンクから、ここ に飛んでみたのですが、「Sakura Editor doesn’t have any public projects.」と表示されます。
カンバンはメンバー限定になっているのでしょうか?
(このIssueの話題からそれてしまいました。すみません)

@m-tmatma
Copy link
Member

あと、カンバンを確認しようとしたのですが、 ProjectOperation にあるリンクから、ここ に飛んでみたのですが、「Sakura Editor doesn’t have any public projects.」と表示されます。

public に設定しました。

@jakenjarvis
Copy link
Author

@m-tmatma さん、対応ありがとうございます。確認できました。
#189 ですね。今から読みます!

@m-tmatma
Copy link
Member

改めて、ざっとCIラベルの付いたIssue見てみたところ、これ #205 かな?っという感じです。

これは、バージョンダイアログにタグ名を表示するものです。

@jakenjarvis
Copy link
Author

@m-tmatma さんのおかげで、AppVeyorでのタグ付きビルドが通りました。
とりあえず、自分のプロジェクトで書いた appveyor.yml の一部を、sakuraエディタの appveyor.yml に適用して動かしてみました。

AppVeyorDeployブランチでv2.3.2.0bのタグを付けてます。

GitHub Releasesを見てもらえばわかりますが、このままだとartifactsが多すぎるので、実際に運用するときはReleaseビルドのインストーラとEXEのZIPのみ(計4個)でよいと思います。
また、インストーラはZIP化せずにEXEのままでもよい気がします。

以下Win32 Releaseビルドログの抜粋です。

Uploading artifacts...
[1/5] sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-All.zip (10,790,731 bytes)...100%
[2/5] sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-Asm.zip (3,181,700 bytes)...100%
[3/5] sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-Exe.zip (6,443,287 bytes)...100%
[4/5] sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-Installer.zip (4,184,141 bytes)...100%
[5/5] sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-Log.zip (162,550 bytes)...100%
Deploying using GitHub provider
Creating "v2.3.2.0b" release for repository "jakenjarvis/sakura" tag "v2.3.2.0b" commit "6bbc63fcaa765c112720fdbebff30818149d153f"...OK
Uploading "sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-All.zip" to release assets...OK
Uploading "sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-Asm.zip" to release assets...OK
Uploading "sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-Exe.zip" to release assets...OK
Uploading "sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-Installer.zip" to release assets...OK
Uploading "sakura-jakenjarvis-tag-v2.3.2.0b-build4-6bbc63fc-Win32-Release-Log.zip" to release assets...OK
Updating "v2.3.2.0b" release for repository "jakenjarvis/sakura" tag "v2.3.2.0b" commit "6bbc63fcaa765c112720fdbebff30818149d153f"...OK
Build success

方針が定まってないので、とりあえず私の中では完了です。(私が知らないだけかもだけど)
(成果物を自動でGitHub ReleasesにDeployできることを示した)

けど、 #121 見た後だと今更感が。
それまでご存知な方がいないのだと思っていました。

あと、関わってすぐ、全部のIssueに目を通すのは無理があります。これでも目についた関連しそうなものは、見ているつもりですので、ご容赦ください。
(その時、私が見たCIラベルの付いたものの中で、205が一番AppVeyorの話題として目に付きました)

#205#189#121 の順番で見てますので、一番詳しく書かれているIssueを最後に見た気分でいます。もっと早く適切なIssueへ誘導してほしかった。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 26, 2018

@jakenjarvis さん、色々とありがとうございます。
いまだこのプロジェクトはGitHubに引っ越ししてラベルなども後からつけるようになったので、色々と走りながら進めているところでございます。
OSSですので各自できる範囲で進めているところでございますので、こちらの配慮が足りなかったところはご容赦いただければ幸いです。
またお気づきの点ございましたらお気軽にissue作成いただければと思います。

@jakenjarvis
Copy link
Author

いえいえ、とんでもないです。
@KENCHjp さんに丁寧に対応してもらったので、ここまで首を突っ込みました。最初の反応が良くなければ、ここまで時間を割くことはしませんでした。改めて感謝です。

私はたぶん、 @m-tmatma さんのこの書き込みの・・・

これは、バージョンダイアログにタグ名を表示するものです。

を、ひねくれて受け取ってしまっただけだったと思います。昨日の私は、この文章から、何か違う意図を感じてしまっていました。(ちゃんと調べてから見ろよ、と言われたように感じた)

一晩経って、今、改めて見ると、ただ指摘しただけの文章に見えます(汗)
ごめんなさい。過剰反応しすぎでした。

私に出来ることがあるなら、お手伝いできればと思っていますので、今後ともよろしくお願いします。

@jakenjarvis
Copy link
Author

性懲りもなく、 #189 で記載した Bintrayへデプロイする最小限の記載例 を動くレベルまで試してみました。

Tagを「v2.3.2.0f」としてPushしています。appveyor.ymlがコレ。

これにより、タグを付けた場合に、GitHub Releasesには、ReleaseビルドのWin32/x64のAll、Exe、Installerのzipのみデプロイし、Bintrayには、すべてのzipファイルをデプロイします。
今回はテストのため、ブランチ制限を付けていませんが、「branch: master」を付ければmasterブランチの場合のみに限定できます。

ビルドのログがコレ。

成果物の出力先がコレです。

※今気が付いたけど、provider BinTrayのdescriptionは効果がなかったので要らないです。消し忘れてました。


整理してからPRすればいいのかな?・・・とも思ったのですが、いずれにしろ、このプロジェクトのアカウントでAppVeyorやBintrayで登録手続きなども行わないといけないため、実装時の参考としてください。
(してもいいならPRのための別ブランチで綺麗にしてからやりますが、secureキーの変更が必要です。指示下さい)


あと、勘違いされていそうなのですが、Bintrayは、成果物を配布するためのアップローダーで、OSSなら無料で使えます。(Android界隈ではよく使われている印象です)

  • Universal Support for All Package Types
  • 1 TB Downloads
  • 10 GB Storage
  • CDN

ここからGitHubのアカウントでログイン すれば、手間なく使うことが出来ます。( Free Trialではない ので注意です)

※このアカウント作成ページは、 TOPページ からだと、すごくわかりにくいです。
最下部よりちょっと上にある「For Open Source Plan Sign Up Here」のとこです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI appveyor など CI 関連 【ChangeLog除外】
Projects
None yet
Development

No branches or pull requests

4 participants