設定

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

CanvaがSerif (Affinity) を買収

私は使ったことがないのですが名前はよく聞…

3週間 ago

Serifのスプリングセール – アドオンが50%オフ

Affinity Photoなどレタッチ…

1か月 ago

音声がロボットのようになるときの対処

リモート会議などでたまに相手の音声がおか…

3か月 ago

Serifのブラックフライデー – 全品40%オフ V1ユーザは更にお得!

恒例のブラックフライデーセールが始まりま…

5か月 ago

[rust] rayonで書き直してみました

前回のコードを元にrayonを使った処理…

5か月 ago

[rust] async-stdで書き直してみました

前回のコードをasync-stdで書き直…

6か月 ago