7

背景: heroku にデプロイされたプロジェクトがあります。heroku アプリは github に接続されているので、heroku の Web API から「デプロイ」ボタンを押して、github のブランチを heroku に手動でデプロイできます。

私がやろうとしているのは、slack コマンドを介してそれを達成できる Slack ボットを構築することです。理想的には、heroku のプラットフォーム APIに のような機能があればよいの.deploy('my_app', 'some_branch_on_github)ですが、見つけられないようです。

プラットフォーム API のビルド機能はcloseです。この関数を使用すると、heroku がデプロイする tarball の公開 URL を提供できます。ただし、私の github リポジトリは公開されていないため、機能しません。ただし、heroku は既に私の github リポジトリに接続されているため、プライベート リポジトリは問題になりません。

TLDR : プログラムで Heroku に、接続先のプライベート github からアプリをデプロイするように指示するにはどうすればよいですか?

4

2 に答える 2

0

2020 年 4 月の時点で、Heroku は GitHub をネイティブに統合しており、文書化されていないジャンキーなアイスランドのエンドポイントに頼ることはありません。

構成すると、Heroku は自動的にビルドしてリリースし (ビルドが成功した場合)、指定された GitHub リポジトリにプッシュすることができます。

GitHub 統合の有効化

Heroku ダッシュボードDeployのアプリのタブで GitHub 統合を構成できます。

GitHub 統合を有効にする

GitHub 統合を構成するには、GitHub で認証する必要があります。これは、Heroku アカウントごとに 1 回だけ行う必要があります。

自動 GitHub デプロイを構成するには、GitHub リポジトリ管理者アクセスが必要です。これは、Heroku が GitHub リポジトリにサービス フックを登録する必要があり、このアクションには管理者アクセスが必要なためです。GitHub 組織の場合、GitHub アカウントも組織のメンバーである必要があり、外部の共同作業者ではありません。

 

リポジトリが、サードパーティ アプリケーションの制限が有効になっている GitHub 組織にある場合、組織管理者は組織で Heroku を使用することを承認する必要があります。詳細はGitHubで入手できます。

Heroku アプリを GitHub リポジトリにリンクすると、ブランチから選択的にデプロイしたり、自動デプロイを構成したりできます。

手動デプロイ

手動デプロイでは、アプリに接続されている GitHub リポジトリから任意のブランチの即時デプロイを作成できます。変更をいつ Heroku にデプロイするかを制御したい場合は、手動デプロイを使用します。

手動デプロイ

手動デプロイを使用して、自動デプロイ用に構成されたブランチ以外のブランチを一時的にデプロイすることもできます。たとえば、開発アプリをdevelopmentGitHub ブランチに同期しているが、機能ブランチを一時的にテストしたい場合があります。機能ブランチの手動デプロイをトリガーするだけで、Heroku アプリでテストできます。フィーチャー ブランチのリリースは、ブランチへの GitHub プッシュが次に成功したときに上書きされることに注意してくださいdevelopment

自動デプロイ

GitHub ブランチの自動デプロイを有効にすると、Heroku はすべてのプッシュをビルドしてそのブランチにデプロイします。たとえば、Heroku に開発アプリがある場合、GitHub developmentブランチへのプッシュが自動的にビルドされ、そのアプリにデプロイされるように構成できます。

自動デプロイ

自動化された継続的インテグレーション (たとえば、Travis CI を使用) を使用するように GitHub リポジトリを構成した場合は、[デプロイする前に CI が通過するのを待つ] チェックボックスをオンにできます。有効にすると、Heroku は、関連するコミットのすべてのコミット ステータスが表示された後にのみ自動デプロイします success

pendingチェックの 1 つがステータスを示しているため、このコミットは自動デプロイされません 。失敗したコミット ステータス - 自動デプロイされません

すべてのチェックで次のステータスが表示されるため、このコミットは自動デプロイされます success成功コミット ステータス - 自動デプロイ

アプリのレビュー

Heroku アプリでレビュー アプリを有効にすると、Heroku は、親アプリに接続された GitHub リポジトリで開かれたプル リクエストごとに一時的なテスト アプリを作成します。レビュー アプリは、 GitHub Flowを使用してコード ベースの変更を提案、議論、およびマージする場合に最適です。プル リクエスト ブランチは Heroku の新しいアプリにデプロイされるため、共同作業者はコード ブランチのテストとデバッグを非常に簡単に行うことができます。GitHub ブランチを表す Heroku アプリで自動統合テストを実行することもできます。

詳細については、アプリのレビューの記事 を参照してください。

Heroku CI

GitHub リポジトリを Pipeline に接続したら、 Heroku CIを有効にできます。Heroku CIは、Heroku Pipelines と簡単に統合できる視覚的で構成の少ないテスト ランナーです (したがって、Review アプリ、既存の Heroku アプリ、および GitHub 統合を補完します)。Settingsどの Heroku パイプラインもすでに Heroku CI 対応です。パイプラインのタブでオンにするだけです。

差分へのリンク

GitHub リポジトリにリンクされているアプリの場合、[ダッシュボード Activity] タブのリリースには [差分を表示] リンクが含まれます。リンクをたどると、GitHub の比較ビューに移動し、最後のリリース以降に行われた変更が表示されます。

差分表示リンク

GitHub からの切断

必要に応じて、廃止された GitHub 接続を終了します。

個々のアプリの切断

Deploy個々のアプリは、アプリのタブの GitHub ペインで切断できます 。

アプリを切断するための UI のスクリーンショット

アカウントを切断しています

ダッシュボード アカウント ページの [アプリケーション] ペインで、Heroku と GitHub のアカウントを切断できます。

アカウントを切断するための UI のスクリーンショット

于 2021-10-15T06:52:28.803 に答える