設定

HEROKUでビルドをキャンセルする

HEROKUで使用しているスタックがEnd of Lifeで新しいスタックに移行が必要になりました。

うっかり忘れていたので新スタックでの検証や移行作業に手間取ってしまいました。特に手順を失敗したのでビルドがうまくできずにフリーズ状態になってしまいました。

今までHEROKUへのデプロイメントはまったく問題がなかったので焦りました。ダッシュボードからキャンセル操作できるだろうと思っていたらログしか見ることができずにびっくり。

ということで、メモとしてキャンセル方法を残しておきます。

HEROKU CLI plugin インストール

ダッシュボードから操作できないとなると、HEROKU CLIが手段として考えられます。調べてみるとCLIのpluginとして機能提供しているようです。

さっそくプラグインをインストールです。

$ heroku plugins:install heroku-builds

ビルド状況の確認

インストールするとbuilds:infoコマンドが使用できるようになります。ビルド状況を見るには下記のいずれかのコマンドで見ることができると思います。

$ heroku builds:info -a [app-name]
$ heroku builds:info --app [app-name]
$ heroku builds:info --remote [stack-name]

ビルドが停止していると下記のようにステータスがpendingの状態になっていると思います。

=== Build 8e44xxxx-xxxx-xxxx-xxxx-xxxx3367e505
Buildpacks: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/ruby.tgz
By:         xxxxx@xxx.com
Status:     pending
When:       2019-08-31T15:10:18Z

ビルドのキャンセル

ビルドをキャンセルするにはbuilds:cancelコマンドを実行します。実行する際はビルドIDを指定したほうが良いです。何も指定しないと最新のIDに対して実行されるようです。

$ heroku builds:cancel [build-id] -a [app-name]
$ heroku builds:cancel -a [app-name]
Stopping build 8e44xxxx-xxxx-xxxx-xxxx-xxxx3367e505... done

キャンセル後にもう一度ステータスを確認すると今度はfailedになっていると思います。

改めて設定などを見直して再ビルドの準備をしましょう。

=== Build 8e44xxxx-xxxx-xxxx-xxxx-xxxx3367e505
Buildpacks: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/ruby.tgz
By:         xxxxx@xxx.com
Status:     failed
When:       2019-08-31T15:10:18Z

ビルドが成功すると下記のようになります。

=== Build 8e44xxxx-xxxx-xxxx-xxxx-xxxx3367e505
Buildpacks: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/ruby.tgz
By:         xxxxx@xxx.com
Release:    v34
Status:     succeeded
When:       2019-08-31T15:20:18Z
管理人

Recent Posts

RustでSOLID原則について考える

binllionを作っていて1…

2か月 ago

[binllion] clippyを使ってコードを改善する

ここままでエディターとしての最…

2か月 ago

[binllion] データのエクスポート機能を追加する

インポートとくればエクスポート…

3か月 ago

[binllion] データのインポート機能を追加する

データの編集機能の開発も終えた…

3か月 ago

[binllion] 編集用バッファに削除機能を追加する

上書き、挿入、とくれば削除も必…

3か月 ago

[binllion] 編集用バッファに挿入機能を追加する

上書き、とくれば挿入も必要でし…

3か月 ago