タグ

git*と*softwareに関するsh19910711のブックマーク (158)

  • GitLab Triageでプロジェクトの棚卸しを自動化する

    記事は 富士通クラウドテクノロジーズ Advent Calendar 2021 の2日目の記事です。 1日目は@ktakaaki のTwilioとWindows PowerShellを使って連続で電話を掛けたいでした。Twilioはシステムから電話を掛ける際に非常に便利なサービスで、様々な場面でよく使われますが、PowerShellからでも簡単にコールできるんですね。 さて、富士通クラウドテクノロジーズ社では 全社員が利用するプロジェクト管理ツールとしてGitLabを採用 しています。各チームそれぞれがGitLabを活用しており、様々なGitLab活用ノウハウがあるのですが、今回は最近導入した GitLab Triage を紹介したいと思います。 GitLab Triageとは GitLab Triage はGitLabプロジェクト上のIssue/Merge Request/Epicを

    GitLab Triageでプロジェクトの棚卸しを自動化する
    sh19910711
    sh19910711 2024/05/16
    "GitLab Triage: ポリシーを定めるために YAMLファイルを作成 + conditions で対象となるIssueを定義し、 actions で対象となったIssueに行いたい操作を定義 + forbidden_labels は対象の除外条件" 2021
  • git(1)の最初のコミットをビルドして使ってみた - Qiita

    gitが10周年ということで、gitの最初のコミットのリビジョンのソースコードをビルドして動かしてみた。最初のコミットとはつまり、最初にgitがセルフホスティングされたリビジョンということになる。 参考文献: の虫: gitの10周年を記念したLinus Torvalsへのインタビューの翻訳 commit e83c5163316f89bfbde7d9ab23ca2e25604af290 Author: Linus Torvalds <torvalds@ppc970.osdl.org> Date: Thu Apr 7 15:13:13 2005 -0700 Initial revision of "git", the information manager from hell わずか11ファイル、READMEを含めて1200行あまりのコミットだから、ビルドくらいはできるはず。 OSX 10

    git(1)の最初のコミットをビルドして使ってみた - Qiita
    sh19910711
    sh19910711 2023/03/20
    2015 / "git log 相当のものがないのでコミット履歴を追うことはできないものの、最初のコミット当初からgit-add / git-commitの区別があり、git-logよりも先にgit-diffがあったのだということがわかる"
  • ミニマムなCloudFormation運用の始めかた

    はじめに AWS CDKを活用したいが、実際はCloudFormationで運用しているチームはある。 もちろん意欲があれば積極的にCDKを勧めたいが、そうならない場合もある。(是非は触れない) そういったチームを一気にモダンな開発手法に移行させるのは難しいため、まずはある程度機能する環境を作り、ボトムアップ的に進めていくことが重要だと思うので、最低限で機能するツールを導入することが多い。 以下はそのサンプルである。 環境 今回はAWS CloudShellとする。 リポジトリの資源管理:git-remote-codecommit リポジトリがAWS CodeCommitで管理されている場合は、git-remote-codecommitを使用して簡単にクローンできる。AWS IAMだけで、SSHの設定を行わずに利用することができる点で、CloudShellとの相性が良い。 # Instal

    ミニマムなCloudFormation運用の始めかた
    sh19910711
    sh19910711 2023/03/06
    "リポジトリがAWS CodeCommitで管理されている場合は、git-remote-codecommitを使用して簡単にクローンできる。AWS IAMだけで、SSHの設定を行わずに利用することができる点で、CloudShellとの相性が良い / git clone codecommit::<region>://..."
  • GitコミットをNotionに記録してみてる

    Gitのコミットフックを使って、コミット内容をNotionに記録してみています。 Gitコミットを自動的にNotionに記録するcommit hookを書いてみた。https://t.co/jb2U68PbMB しばらく遊んでみる pic.twitter.com/rnlKJgVMtk — azu (@azu_re) December 28, 2022 実際に使ってるコミットフックは、次のリポジトリにあります。 azu/git-hooks: @azu’s global git hooks Git 2.9+からcore.hooksPathというglobalなGit Hookを設定できます。 このglobal hookを使い、どのリポジトリでもpre-commitやpost-commitなどのコミットフックのスクリプトを実行できます。 Notionにコミットログを送るGitフックの作り方 Not

    GitコミットをNotionに記録してみてる
    sh19910711
    sh19910711 2023/01/28
    "Git 2.9+からcore.hooksPathというglobalなGit Hook / どのリポジトリでもpre-commitやpost-commitなどのコミットフックのスクリプトを実行できます / リポジトリ横断でコミットと時間軸だけで一覧できる"
  • GitLab CI/CDで特定のファイルが変更された場合にのみジョブを実行する - GeekFactory

    GitLab 11.4から only:changes という記法がサポートされました.これにより,特定のファイルが変更された場合のみジョブを実行できます. https://docs.gitlab.com/ee/ci/yaml/#onlychangesexceptchanges 例えば,以下のように記述すると,ブランチをpushした時に terraform/ フォルダのファイルが変更されている場合にのみジョブが実行されます. stages: - build terraform_plan: stage: build only: changes: - terraform/**/* - .gitlab-ci.yml image: name: hashicorp/terraform:0.12.8 entrypoint: - /usr/bin/env script: - cd terraform/ -

    GitLab CI/CDで特定のファイルが変更された場合にのみジョブを実行する - GeekFactory
    sh19910711
    sh19910711 2022/11/13
    2019 / "GitLab 11.4から only:changes という記法がサポートされました.これにより,特定のファイルが変更された場合のみジョブを実行できます"
  • GitHub Actions でモノレポ上の特定パスをチェックアウトスキップしたい - tech.guitarrapc.cóm

    モノレポでリポジトリサイズが大きくチェックアウトが長くて困ることがあります。 今回はこういったときにどうできるのかを考えてみましょう。 tl;dr; GitHub Actions でスパースチェックアウトをする CI におけるチェックアウトの基 git clone を高速化する定番の方法 シャロークローン スパースチェックアウト GitHub Actions でスパースチェックアウトをしたい Gactions/checkout はスパースチェックアウトに対応していない スパースチェックアウトを書いてみよう まとめ 参考 tl;dr; CIでは特定のパスしかいらないのに、ほかのパスもチェックアウトされるのを制御したい場合、スパースチェックアウトが使えます。 スパースチェックアウトを使えば、モノレポ上で、特定のパスをチェックアウトスキップしたり、特定のパスだけチェックアウトすることができる

    GitHub Actions でモノレポ上の特定パスをチェックアウトスキップしたい - tech.guitarrapc.cóm
    sh19910711
    sh19910711 2022/09/26
    "actions/checkout は スパースチェックアウトに対応していないので、自前でチェックアウトが必要 / 特定のパスをチェックアウトスキップしたり、特定のパスだけチェックアウトすることができる"
  • GitLab上でよしなに自動実行してくれるTerraformのCIを目指して - エムスリーテックブログ

    こんにちは、エムスリー エンジニアリンググループ の鳥山 (@to_lz1)です。製薬企業向けプラットフォームチームでチームSREとして活動しています。 この記事はエムスリー Advent Calendar 2021 22日目の記事です。 Googleの実践から生まれたSREという職種は決してインフラ "だけ" を見る存在ではありませんが、インフラの構築・維持管理は依然として主要な仕事の1つです。 ここ数年のエムスリーのインフラの変遷やその全体像については14日目の記事「エムスリーの IaC 3年史」に譲りますが、私の所属する製薬企業向けプラットフォームチームも、 多くの番プロダクトがAWS上で稼働 データ基盤はBigQuery上に整備 他のチームが開発するGCP上の機械学習システムとも連携 ...といった具合で日々クラウド上での開発と運用をしています。また、AWS上の構成はほぼ全て T

    GitLab上でよしなに自動実行してくれるTerraformのCIを目指して - エムスリーテックブログ
    sh19910711
    sh19910711 2022/08/21
    "IaCの変更: 「比較的軽微で、すぐにapplyしてしまいたい」変更 + 「比較的大きく、事前確認や時間の調整が必要な」変更 / GitLab: Managed Terraform StateやArtifact Reportといった機能もあり、Terraformとの統合には力を入れています"
  • 日本語原稿の git コミット間の編集距離を調べる - Qiita

    記事の対象 日語原稿を git で管理し、各コミットの文字数で進捗を評価しているが、推敲した回は字数が増えないので、サボったみたいで気に入らない人。 やること git のコミット間の編集距離(レーベンシュタイン距離)を比較する Python3 スクリプトを書く。 git コマンドでの比較 まず以下のような原稿がある。

    日本語原稿の git コミット間の編集距離を調べる - Qiita
    sh19910711
    sh19910711 2022/04/22
    オプションほしい / "日本語原稿を git で管理し各コミットの文字数で進捗を評価しているが推敲した回は字数が増えないのでサボったみたいで気に入らない / 仕方なく Python で編集距離を測る"
  • 最も偉大なコミット

    Mar 13, 2012 皆さんそれぞれ、好きなOSSプロジェクトがあると思いますが、では皆さんが最も偉大と考えるコミットは何だと考えるでしょうか。 僕はこれ。 バージョン管理ツールで有名なgitの創始者Linus Torvaldsによる最初のコミットです。 もともとLinuxのバージョン管理用として生まれたgitはそれ以前、Linuxを管理するための適切な管理システムが存在しないことを理由に誕生しました。「ないなら作ってしまえ」というLinusの意思が明確に現れたコミットといえるでしょう。 このイニシャルコミットにはgitの基的な機能が全て備わっています。わずか1000行余りのコードに、です。 このコミットで世界は「やっぱリーナスはんぱねえ」と驚かされたことでしょう。 このバージョンのgitのソースコードリーディングを実施することは以下の点で多くのプログラミング学習者に非常に有益です。

    sh19910711
    sh19910711 2021/09/22
    "gitの創始者Linus Torvaldsによる最初のコミット / このイニシャルコミットにはgitの基本的な機能が全て備わっています / 全体で1000行程度しかなく、全体像が把握しやすい / にも関わらず、基本機能が既に実装済み"
  • tanuki_reminderを作った - くりにっき

    tanuki_reminderとは 名前の由来 技術的なこと 使い方 tanuki_reminderとは マージされていないMRの一覧を指定した時間にチャットに通知するリマインダーで、 Pull Reminders のGitLabクローンです。 Pull Remindersが便利なのでGitLabでも使いたくて作りました。 gitlab.com 名前の由来 Pull Panda がパンダなので動物つながりでGitLabなのでタヌキにしました 余談ですがtanuki呼びは公式設定です https://gitlab.com/gitlab-org/omnibus-gitlab/blob/12.3.4+ee.0/files/gitlab-ctl-commands/upgrade.rb#L178-197 技術的なこと golang製で開発期間1週間くらい GitLab系のツールなので常にドッグフーデ

    sh19910711
    sh19910711 2020/11/21
    GitLab CI、include.remoteで外部からYAMLを取り込みできるの便利っぽい
  • Gitのつくりかた | メルカリエンジニアリング

    はじめまして。サーバサイドエンジニアの @DQNEO です。 今日はGitのつくりかたをご紹介します。 C言語学習教材としてのGit Gitと同じものをゼロから作って何の意味があるのか?と思いますよね。 私がこの再発明をやり始めた動機は「C言語を書けるようになりたい」でした。 実際に途中までやってみたところ、 C言語がチョットデキるようになった Gitの内部構造に詳しくなった というメリットが得られました。 C言語を勉強する題材は、テトリスとかWebサーバとか他にいくらでもあるのですが、Gitを実装してみるのはかなりおすすめです。理由は下記の通りです。 内部構造が意外と単純 (ローカルで動かす分には)ネットワークの知識が不要 普段使っているツールで外部仕様がわかっているので、やるべきことが明確 余談ですが、家Gitのソースコードを参考にしようと思って読んでいたら、Linus Tovals

    Gitのつくりかた | メルカリエンジニアリング
    sh19910711
    sh19910711 2020/09/19
    "C言語学習教材としてのGit"
  • コードを一切書かずにGitLabを捗らせる - id:bash0C7の進捗 過去アーカイブ[〜2019-02-23]

    ドリコムさまと我が仕事場との合同勉強会「GitLab魔改造カンファレンス」で発表してきました。 発表内容 JSONが飛んでくるWeb Hookは、Fluentdのin_httpで受けるといいよ 各種プラグインをFluentdの設定ファイル書いて組み合わせるとノンプログラミングで相当やれるよ in_httpの設定 エイチティティピーインプットプラグイン | Fluentdのまま、ノンチューニングでつかっています。 in_httpで受けたものをidobataに流す例 【リリース告知】bashさんが“設定ファイルのフォーマット整え”をリリースするよ みたいに、pushした人と、そこに含まれるコミットのメッセージの件名部分をまるっと通知する場合の例です。 <match *.**> type idobata webhook_url https://idobata_WEB_HOOK_URL messa

    コードを一切書かずにGitLabを捗らせる - id:bash0C7の進捗 過去アーカイブ[〜2019-02-23]
    sh19910711
    sh19910711 2020/09/05
    良さそう / "JSONが飛んでくるWeb Hookは、Fluentdのin_httpで受けるといいよ"
  • Terraform運用事例書きました - pixiv inside

    こんにちは、インフラ部の id:sue445 です。 Terraformなにもわからないけどディレクトリ構成の実例を晒して人類に貢献したい - エムスリーテックブログ や Terraformのディレクトリ構成の模索 - Adwaysエンジニアブログ を読んで影響されたのでピクシブのTerraform運用事例を紹介しようと思います。 Terraformの採用理由 GitLabでのリポジトリ構成 Terraformのファイル構成 moduleがうまく使えたと思っている事例 GitLab CIでTerraformをいい感じにCIする テンプレートの使い方 ピクシブで実際に使っているテンプレートファイル このテンプレートでできること masterブランチ以外 masterブランチ このテンプレートファイルのポイント 最後に Terraformの採用理由 Terraformと同じようなプロビジョニン

    Terraform運用事例書きました - pixiv inside
    sh19910711
    sh19910711 2020/08/08
    "GitLab CIだと resource_group を使うことでこのように「通常はCIのqueueが空いていれば可能な限り並列実行してほしいが特定のジョブだけは1つずつ実行してほしい」という同時実行数の制御ができる"
  • GitLab as OpenID Connect identity provider | GitLab

  • リモートモブプログラミングで Git Handover をシュッと実現する「mob」コマンド - kakakakakku blog

    「モブプログラミング」を採用すると「全員で同じタスクに取り組む (WIP 1)」ため,複雑な Gitランチ戦略は必要なくなる.例えば master ブランチと develop ブランチだけで運用することもできる.今回紹介する mob コマンドを使うと,モブセッションで繰り返し行なう「ドライバー(タイピスト)交代」をシュッと実現できる.特に「リモートモブプログラミング」だと GitHub に git push をしてドライバーを交代する(Git Handover と言う)ため,mob コマンドを使うと便利! mob.sh インストール mob コマンドは brew コマンドで簡単にインストールできる.そこそこ頻繁にリリースされているため,定期的に brew upgrade をしておくと良さそう.今回の記事を書いてる間にも v0.0.13 ➔ v0.0.17 にバージョンアップしていた.

    リモートモブプログラミングで Git Handover をシュッと実現する「mob」コマンド - kakakakakku blog
  • Terraform用のGitHub Actionsをterraform-github-actionsから後継のsetup-terraformに移行する - メドピア開発者ブログ

    SREの侘美です。 最近はfirst call for オンライン診療の開発でRailsのコードを書いてました。 hashicorp/terraform-github-actions から後継である hashicorp/setup-terraformへ移行した際にいくつか設定でハマったので、そのことについて書いていきたいと思います。 背景 メドピアではterraformAWSのインフラを管理しています。 terraformのリポジトリでは、レビューがスムーズに行えるようにGitHub Actions上で terraform plan や terraform apply 、 terraform fmt 等を実行できる hashicorp/terraform-github-actions を利用し、下の画像のようにplan結果をPRに自動で投稿するようにしていました。 新サービスをリリースし

    Terraform用のGitHub Actionsをterraform-github-actionsから後継のsetup-terraformに移行する - メドピア開発者ブログ
  • Shawn Pearceを偲んで

    四ヶ月ほど前、自分の上司であったところのShawn Pearceががんで亡くなった。私は他人の年齢を推測したり覚えたりするのが苦手なのだが、確か彼は40歳に満たないほどの若さであったと思う。彼について日語で書かれた文章というのは無さそうであるし、自分以外に書くとすればJunio C. Hamano氏ぐらいだと思うので、彼について書くことにする。 彼はあまりよく知られている人物ではなかったと思うが、彼の関わったソフトウェアプロジェクトで一番良く知られているものとしては、やはりGitであろう。GitHubの統計によると、彼はGitの中で3番目に多いContributionをしていたようである。Git体以外でも、実は彼はlibgit2の最初のコミットをした人物であり、JGitの、少なくともJGitがEclipse FoundationにContributeされたときからのCommittter

    Shawn Pearceを偲んで
    sh19910711
    sh19910711 2020/05/23
    "libgit2の最初のコミットをした人物であり、JGitの、少なくともJGitがEclipse FoundationにContributeされたときからのCommittterであり、同様にGerritでも最初期からのCommitter"
  • GitLabによるComplete DevOps

    以下のイベントにて使用した資料です。 GitLab Meetup Tokyo #7 https://gitlab-jp.connpass.com/event/83738/ DevOps Days Tokyo 2018 https://www.devopsdaystokyo.org/ https://confengine.com/devopsdays-tokyo-2018/proposal/5962/gitlabcomplete-devops-devops-toolchain-

    GitLabによるComplete DevOps
  • GitLab CI/CDとECS Fargateでリリース作業が楽になった話

    2019/04/24(水) GitLab Meetup Tokyo #16: 新年度応援 https://gitlab-jp.connpass.com/event/126533/

    GitLab CI/CDとECS Fargateでリリース作業が楽になった話
  • 分散VCSのモデル、あるいはPijulについて | κeenのHappy Hacκing Blog

    先日、Pijulという分散VCSについて知って、それについて調べてみたら少し面白かったのでメモ。 DVCSで一番有名なのは間違いなくGitだろう。あれは分散グラフ理論木モデルに基いているらしい。ベースになったモデルがあることに驚いたが、調べても出てこなかった。 Gitは高速で信頼性が高い一方、コミット同士をチェーンのように繋げてしまうので柔軟性を欠き、例えばCherry Pickなんかがやりづらい。 あるいはリモートのmasterを取り込まずにローカルのmasterにコミットすると互いに独立した変更であっても一旦remote masterをマージしないとプッシュ出来ず、コミットグラフが汚れてしまう。 また、CUIが直感的でなく、理解しづらいという声もある。それはこういう皮肉にも現れている まあ、言われてみれば私もこのスライドを見てようやく理解した。 他のVCSにも色々特色はあって、歴史は神

    分散VCSのモデル、あるいはPijulについて | κeenのHappy Hacκing Blog