有効期限切れになったGitLabのGPG鍵を更新する
Amazon Linux 2023へGitLabをリポジトリからインストールして利用しています。ですが、更新しようとしたところ以下のエラーになりました。
1 2 3 4 5 6 7 8 9 10 11 | |
今回は「GitLabのGPG鍵が有効期限切れになっていた」ことが原因でした。これを解消し、GPG鍵を更新する手順をメモしておきます。
Amazon Linux 2023へGitLabをリポジトリからインストールして利用しています。ですが、更新しようとしたところ以下のエラーになりました。
1 2 3 4 5 6 7 8 9 10 11 | |
今回は「GitLabのGPG鍵が有効期限切れになっていた」ことが原因でした。これを解消し、GPG鍵を更新する手順をメモしておきます。
以前にMountpoint for Amazon S3 で S3 Bucket を自動マウントするというメモを来ました。今回はUbuntuでMountpoint for Amazon S3をバージョンアップする手順をメモしておきます。
GitクライアントであるForkですが、リリースノートによるとバージョン2.41からWorktreeに対応しているようです。ただ、少なくてもバージョン2.60時点ではウインドウからのWorktree作成はできないようで、メニューから操作する必要があるようです。

トランクベースでGitを運用する際、コミットメッセージに付与する接頭詞の例をメモしておきます。Geminiに生成してもらいました。
| 分類 | Prefix | 意味・内容 | 具体的な使用例 |
|---|---|---|---|
| メイン | feat | 新機能の追加 | feat: ログイン機能の実装 |
| fix | バグ修正 | fix: 入力フォームのバリデーションエラーを修正 | |
| コード改善 | refactor | リファクタリング(挙動を変えない整理) | refactor: 重複したロジックを共通関数に抽出 |
| style | フォーマット、空白、セミコロンなど(見た目のみ) | style: インデントを2スペースに統一 | |
| perf | パフォーマンス向上のための変更 | perf: 画像読み込みの遅延実行を導入 | |
| 非機能的変更 | docs | ドキュメントのみの変更 | docs: READMEにインストール手順を追記 |
| test | テストコードの追加・修正 | test: ユーザー登録のユニットテストを追加 | |
| chore | 雑用(ライブラリ更新、ビルド設定など) | chore: npmパッケージのアップデート | |
| ci | CI設定(GitHub Actionsなど)の変更 | ci: デプロイ用ワークフローの修正 | |
| 特殊 | wip | 作業中(Work In Progress) | wip: 決済機能の実装(途中保存) |
| revert | 前のコミットの打ち消し | revert: feat: ○○ のコミットを取り消し | |
| feat! | 破壊的変更(互換性がなくなる変更) | feat!: APIレスポンスのデータ構造を刷新 |
Gitを使った開発フローには「GitFlow」や「トランクベース開発」、「GitHubフロー」などがあるそうです。
Gitflow とは、元来は Git ブランチを管理するための破壊的で斬新な戦略のレガシー Git ワークフローです。Gitflow の需要は落ち込み、トランク ベースのワークフローが利用されるようになっています。現在ではこれが最新の継続的なソフトウェア開発のベスト プラクティスおよび DevOps プラクティスと見なされています。Gitflow はまた、CI/CD と使用することも困難な場合があります。この投稿では、歴史的な目的で Gitflow の詳細をご説明します。
最初に普及した Gitflow は、特定の個人だけがメイン コードへの変更を承認できる、非常に厳格な開発モデルです。そのため、コードの品質が維持されてバグの数が最小限に抑えられます。トランク ベース開発は、すべての開発者がメイン コードにアクセスできる、よりオープンなモデルです。そのため、チームはすばやく反復処理を実行して CI/CD を実現できます。
GitHub フローは、軽量のブランチ ベースのワークフローです。 GitHub フローは、開発者だけでなくすべてのユーザーに役立ちます。
各々の特徴を一覧にすると以下です。
| 特徴 | GitFlow | GitHub Flow | トランクベース |
|---|---|---|---|
| 複雑さ | 高い | 低い | 非常に低い |
| リリースの頻度 | 数週間〜数ヶ月に一度 | 毎日〜週に数回 | 1日に何度も |
| 主な用途 | 堅牢なパッケージソフト | Webサービス、SaaS | 高速な継続的デプロイ |
これらの違いは赤帽エンジニアブログさんのトランクベース開発についてで分かりやすく違いが説明されています。今回はGitクライアントであるForkを使ってGitflowを試してみました。尚、「ひとり開発」を前提にしています。
Cisco CMLは検証に便利なプラットフォームです。標準でもCisco製品イメージだけでなく、Linuxなどの「非Ciscoイメージ」が同梱されています。
ただ、検証を実施していると「どうしてもWindowsを利用したい」という場合があると思います。Alexander Viftrup AndersenさんがHow To Create a Windows 11 Node for Cisco CMLという記事で「CML上で動作するWindows11イメージを作成する方法」を公開されていますので、今回はこの記事を参考にCML上で動作するWindows11イメージを作成してみます。
Alexanderさんの元記事では「作業を簡易化するスクリプト」も公開されており、そちらも参考にさせて頂きました。素晴らしい記事を公開してくださり、また「日本語の記事を作成する」ことも快諾してくださったAlexanderさんに感謝します。Thank you, Alexander!
Google AntigravityをCLIから起動するにはagyと入力します。これでGoogle AntigravityのGUIが起動します。
agy
もしくはantigravityと実行しても同じ効果です。
antigravity
agyは以下に存在していました。
% which agy antigravity
/Users/USERNAME/.antigravity/antigravity/bin/agy
/Users/USERNAME/.antigravity/antigravity/bin/antigravity
これは/Applications/Antigravity.app配下へのシンボリックリンクになっていました。
% ls -l ~/.antigravity/antigravity/bin/
lrwxr-xr-x - USERNAME 24 1月 17:39 agy -> /Applications/Antigravity.app/Contents/Resources/app/bin/antigravity*
lrwxr-xr-x - USERNAME 24 1月 17:39 antigravity -> /Applications/Antigravity.app/Contents/Resources/app/bin/antigravity*
ezaはlsコマンドの代替となるツールです。Rustで書かれており、lsよりも高機能で、かつ高速に動作します。また、lsコマンドと互換性があり、lsのエイリアスとして設定することも可能です。
Ghosttyで開始したシェルから別のLinuxサーバへSSHしたところ、プロンプトの色が正しく表示されませんでした。Terminfoには以下の記載がありました。
Ghostty's terminfo entry is available in ncurses 6.5-20241228 and above. As distros update their ncurses packages, Ghostty's terminfo entry will be available by default system-wide. This will take time to propagate.
確かに、デフォルト状態のGhosttyはTERM環境変数として(xterm-256colorなどではなく)xterm-ghosttyという文字列を送信していました。これを回避する手段として同ページに以下の記載がありました。
Both variants can be automated by specifying one or both of the following in your Ghostty configuration:
- shell-integration-features = ssh-terminfo to copy the terminfo entry the first time you log into a new server over SSH.
- shell-integration-features = ssh-env to configure SSH to fall back to xterm-256color.
Ghosttyは設定を柔軟にカスタマイズできます。ただ、バージョン1.2.3時点では「ひとつのキーバインドで複数のアクションを実行することはできない」ようです。これを実現する拡張については以下のGitHub Issueで提案されており、今のところバージョン1.3.0での実装を目指しているようです。