Ubuntu 20.04 に locate コマンドをインストールする

結論

mlocateapt でインストールしましょう。

$ sudo apt install -y mlocate
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
提案パッケージ:
  nocache
以下のパッケージが新たにインストールされます:
  mlocate
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
50.1 kB のアーカイブを取得する必要があります。
この操作後に追加で 258 kB のディスク容量が消費されます。
...
...
Initializing mlocate database; this may take some time...(ここでとても時間がかかります)
$ locate --version
mlocate 0.26
Copyright (C) 2007 Red Hat, Inc. All rights reserved.
このソフトウェアは GPL v.2 に基づいて提供されています。

このプログラムは法律が許す範囲で無保証で提供されます。

補足

  • インストール時にインデックスを作成するため、結構な時間がかかります*1
  • 毎日自動でインデックスを作成してくれるため、手動でインデックスを作成する必要はありません

参考

askubuntu.com

*1:僕の場合は 40分 かかりました

CircleCI の "store_artifacts" における "destination" を使う場合と使わない場合の違い

公式ドキュメントより

公式ドキュメント には、以下のように記載されています。

現在、store_artifacts には path と destination の 2 つのキーがあります。


path は、アーティファクトとしてアップロードされるファイルまたはディレクトリのパスです。
destination (オプション) は、アーティファクト API でアーティファクト パスに追加されるプレフィックスです。 path で指定されたファイルのディレクトリがデフォルトとして使用されます。

YAML の例

steps に以下のような YAML が設定されているとします。公式ドキュメントの内容そのままです。以降はこの YAML を用いているものとして説明をします。

続きを読む

CircleCI の SSHデバッグ の際に Permission denied (publickey) エラーが出る場合は鍵ファイルを指定する

状況

SSHデバッグの際に、以下のように接続を促されたとします。

You can now SSH into this box if your SSH public key is added:
    $ ssh -p 55555 10.10.10.10

Use the same SSH public key that you use for your VCS-provider (e.g., GitHub).

RSA key fingerprint of the host is
  SHA256:FOOBAR
  MD5:HOGE

This box will stay up for 2h0m0s, or until 10m0s passes without an active SSH session.

そして $ ssh -p 55555 10.10.10.10 を実行した時に以下のようなエラーになったとします。

$ ssh -p 55555 10.10.10.10
Permission denied (publickey).

結論

sshコマンドを実行するときに -i (鍵ファイル) を追加して接続します。

$ ssh -p 55555 -i /path/to/my_key.pem 10.10.10.10
circleci@123456abcdef:~$

補足

どの鍵ファイルを指定するかを調べるためには、$ ssh -v git@github.com コマンドを実行します*1

コマンドを実行すると長々とログが出力されますが、そのログのうちの以下の部分に注目します。

debug1: Authentication succeeded (publickey).

このログの直前の部分に書いてある鍵が、求めている鍵ファイルです。~/.ssh/config の設定にもよりますが、たとえば以下のように鍵ファイル名が書かれています。

debug1: Trying private key: /home/hogehoge/.ssh/foobar_barfoo.pem

参考

circleci.com

*1:GitHub をソースコード管理に使っている場合。それ以外の場合は「参考」の公式ドキュメントを参照して下さい

CircleCI CLI で実行されるジョブの名前は "build" でなければいけない

注釈

2021/02/23 現在の情報です。

結論

build という名前のジョブが存在しない場合、以下のようなエラーが出ます。

$ circleci local execute
Docker image digest: sha256:99018c7b8dca0f952d65d80bfe6174a8ea0ca0e1908974cfea053e4be170eee5
====>> Spin up environment
Build-agent version  ()
Error:
Configuration errors: 1 error occurred:
        * Cannot find a job named `build` to run in the `jobs:` section of your configuration file.
If you expected a workflow to run, check your config contains a top-level key called 'workflows:'

補足

  • このことはつまり、CircleCI CLI で実行できるジョブの名前は build に限るということです
    • CircleCI CLI で実行すること前提の場合は build というジョブ名にしなければいけないということです
  • $ circleci local execute のエイリアス(?)である旧コマンドが $ circleci build という名称であることからも、build という名前のジョブ名が必要であることが伺えます

結論

  • ジョブ名 build は CLI でのローカル実行用のジョブとして記述するのがいい
    • ただし、build ジョブが workflows のどこかに記述されていないと、CLI の実行時にエラーになる*1
    • build の部分のメンテを怠ると本番の(?)CircleCI での実行結果と異なってしまうので注意する
  • $ circleci local execute -c cli_senyo_config.yml として CLI 専用のコンフィグファイルを作って実行するという方法もある
    • こちらの場合もメンテを怠らないようにする
  • 総論としては、現状では、CLI での実行はあくまで補助的なものやサンドボックス的なものであると思います

補足

  • --job オプションの後にジョブ名を指定することで、build 以外のジョブ名でも実行できます

*1:「ジョブだけ定義して workflows には含めない」状態では、CLI の実行に際してはエラーになる

コミケの当落メール(当落速報メール)を設定する方法

以下の手順に従います。

1. Circle.ms にログインします

portal.circle.ms

gyazo.com

2. ログイン後、「Webカタログサークル側」のページへ飛びます

別のサブドメイン(succession.circle.ms)です。ここへの導線は、Circle.ms ログイン後の「メッセージ」の内容などから見つけることができます。

succession.circle.ms

gyazo.com

3. 「2.」のページ内の「入力を進める」をクリックする

初めて「入力を進める」をクリックする場合には「上記の注意事項を確認したうえで利用する。」にチェックを入れる必要があります*1

gyazo.com

4. メニューから「Webカタログ/DVD-ROMカタログの登録情報を編集する」をクリックする

gyazo.com

5. ページの中ほど~下ほどに「当落速報メールを受け取るメールアドレスの設定」項目があるので、設定する

gyazo.com

6. 設定が完了するとメールが届く

gyazo.com

感想

以前書いた記事と同様に、本当にわかりにくい。

*1:2回目以降はボタンが最初から有効化されています

Powered by はてなブログ