Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gitlab meetup prm説明資料_2017_1117

341 views

Published on

PullReqMakerの紹介資料 at Gitlab meetup

Published in: Engineering
  • Be the first to comment

Gitlab meetup prm説明資料_2017_1117

  1. 1. Git操作自動化クライアント を作った話 株)デザインルール 佐藤哲也
  2. 2. つくったもの • github-flowのための下記の操作を自動化 origin/master: local/topic: 1)自動でclone 2)Topicを生成 3)変更を検知して 自動コミット origin/topic: 4) 一定の変化がない場合に 自動でpush 5)PullReq/MergeReqを作成 6)設定により自動マージ
  3. 3. つくったもの(その2) • Office/PDFのファイルをgit管理したい • つまり、xlsx/docx/pptx/pdfのdiffを見ながら作業したい • ローカルでdiff確認用のテキストファイルを作成
  4. 4. 想定する利用シーン • 作業の結果をPullReq/MergeReqで欲しい • しかし、作業者がgitを使えないケースが多い • マイクロ(クラウド)タスキングでのデータ収集 • Webアプリのデザインの組み込み • 作業者がいつ、どのぐらい作業しているのか把握したい • コミット履歴を共有できると便利 • 大学の研究室でゼミのレジュメを共有
  5. 5. メモランダム • メリット • 原本の同一性保持 • 変更内容を細かくレビューできる • 制約・できないこと・課題など • 一人=1Topic=1PullReq/MergeReq • コンフリクトが起きたら別名ファイルを生成するしかない • 大きいファイルへの対応(LFS)
  6. 6. 将来的に • 知的生産のロガーとして使えたりしないだろうか? • RPA(Robot Process Automation)の基盤としてのgitの活用 • git-commitの履歴を蓄積して、学習データにすれば単純な作業は自動化するんじゃ ないだろうか? • リポジトリマイニングとの親和性 • PullReq/MergeReqベースで作業結果を提案される世界 • 論文の英語校閲 • クラウドソーシング
  7. 7. 利用している技術 • Electron • windowsとMacでCompatibleで便利 • git-credential-manager • 公開鍵認証を使わないため、レポジトリへのhttpsを利用 • ユーザアカウントはgit-credenetial機構に依存 • windowsのgit-credentil-managerは動作が微妙、平文保存するしかないかも • gitlab/github api • 認証からのtoken取得 • MergeReq/PullReqの作成のためにAPI コールができる • bitbucketはAPI対応がなさそう?で非対応
  8. 8. 開発におけるgitlab.comの利用 • gitlab-ci-runnerの利用による実機テスト • プライベートなリボジトリをMac環境でビルドする手段として重宝 • Electronアプリのため、OS固有環境を踏まえたテスト必要 • コードサイニングやネイティブモジュールのビルド • 当初はwin/macの両方で実施 • 途中からwin環境不安定のためAppveyorに移行 • windowsでの実機テストを断念した理由 • spectronがwindowsで起動できず起動できなかった(electron-mochaから起動していたから) • ssdの調子が悪いせいか、単体テストが不安定だったので

×