Travis-CIビルドからのHeroku環境変数の設定 -- heroku フィールド と continuous-integration フィールド と travis-ci フィールド と continuous-deployment フィールド と continuous-delivery フィールド 関連 問題

Setup Heroku environment variables value from Travis-CI builds












0
vote

問題

日本語

私のプロジェクトでは、継続的な統合(すべてのMRにマスターブランチに構築する)、そしてまたアーティファクトをHerokuに展開するためにTravis-CIを使用します。これが私の .travis.yml ファイル:

です。 <事前> <コード> language: java jdk: oraclejdk8 branches: only: - master script: mvn package deploy: provider: heroku api_key: $HEROKU_API_KEY notifications: email: on_success: never on_failure: always

そしてここで私の Procfile

<事前> <コード> web java -Dserver.port=$PORT -jar target/my-artifact.jar

ここでは、 PORT Heroku変数を使用することがわかりますが、カスタム変数もほとんどありません。新しいビルドの後に自分の価値を更新する必要があります。以前は手動でそれをやりましたが、私はこれを自動化できる方法を探しています。私はTravis-CIビルドの時間内に決定する値でHeroku環境変数を更新する必要があります。どうやってそうできますか?

英語

In my project I use Travis-CI for continuous integration (builds on every MR to master branch) and also for deploying the artifact to Heroku. Here is my .travis.yml file:

language: java jdk: oraclejdk8  branches:   only:     - master  script:   mvn package  deploy:   provider: heroku   api_key: $HEROKU_API_KEY  notifications:   email:     on_success: never     on_failure: always 

And here is my Procfile:

web java -Dserver.port=$PORT -jar target/my-artifact.jar 

Here you can see that I use PORT Heroku variable, but I also use few custom variables. Sometimes I need to update their values after new build. Previously I did it manually, but I'm looking how I can automate this. I need to update Heroku environment variables with values which I determine in time of Travis-CI build. How can I do that?

</div
              

回答リスト

2
 
vote
vote
ベストアンサー
 

Heroku Platform APIを使用して環境変数を設定できます。 HTTPS ://devcenter.heroku.com/articles/platform-api-reference#config-vars

TRAVISでは、 '前_deploy'ステップ( https://docs.travis-ci.com/user/customizing-the-build#the-build-lifecycle

では、Heroku Platform APIを使用して環境を更新して以前の_deployステップの一部として実行するスクリプトを作成します。

 

You can set your environment variables using the Heroku platform API: https://devcenter.heroku.com/articles/platform-api-reference#config-vars

In Travis, you can run a task pre-deploy using the 'before_deploy' step (https://docs.travis-ci.com/user/customizing-the-build#The-Build-Lifecycle)

So create a script that uses the Heroku platform API to update your environment and run it as part of your before_deploy step.

</div
 
 

関連する質問

6  Visual Studio Team Servicesの空のビルドアーティファクト  ( Empty build artifacts in visual studio team services ) 
Visual Studio Team Servicesには、次の手順でビルド定義があります。 PowerShell(DNX を設定するPrebuild.ps1 PowerShellスクリプト> NUGETインストーラ Visual Studio Bu...

1  MavenとGitlabの走行(Docker)テストコンテナ  ( Run docker test container in gitlab with maven ) 
gitlab CI / CDパイプラインで作業しています。このパイプラインは、MavenとDockerを使用してそのコマンドのすべてを(展開を除く)を実行します。この場合、テストコンテナ(MySQLデータベース用)を使用する統合テスト(Mavenによってキッ...

2  CI / CDと展開のためのドッカー練習  ( Docker practice for ci cd and deployment ) 
私はDockerに新しい、それについていくつかの記事を読んでください。 私は「すべての環境(DEV /ステージ/生産)と「CI / CDの画像と展開のための画像を使っていっぱいにする」と言う多くの記事を読んでいます。 しかし私はそれらの2つのアドバイスを統合...

1  Javaでスケジュールされたジョブを管理します  ( Manage scheduled jobs with java ) 
私はJavaに複雑なWebアプリケーションを持っています。それは含まれています: Maven によって保存および管理するさまざまなライブラリモジュール cloud の多くのサーバーにスケールするWebモジュール データベース:SQL + NOSQL デ...

2  複数のアップストリームジョブのバージョンを使用したJenkinsジョブのパラメータ化  ( Parameterizing a jenkins job with the versions of multiple upstream jobs ) 
互いに依存する複数のプロジェクトで構成されるビルドパイプラインを作成する必要があります。これが簡単な図です: <事前> <コード> SVN A --> build A -- | SVN B --> build B --|...

9  TRAVIS YMLファイルでは、gradle.properties android.enableAapt = falseを設定します  ( Configure gradle properties android enableaapt false on travis yml file ) 
私のAndroidの<コード> gradle.properties 私は次のものを持っています: <事前> <コード> android.enableAapt2=false My gradle.properties は、私のローカルマシンのMy <コード...

3  継続的な配達プロセスでは、生産から開発からデータを自動的に移動するための適切な方法がありますか?  ( In a continuous delivery process is there a proper way to automatically move da ) 
一般的な連続配達プロセスでは、コードは開発インスタンスからステージングインスタンスへのプロダクションインスタンスに移動しています。 開発目的(バグの再生、全データセットを使用した性能のテスト)、ほとんどの時間開発者は生産データベースから開発環境にデータを取得し...

2  Composer - 1つのコマンドでグローバルに「require-dev」にパッケージをインストールすることは可能ですか?  ( Composer is it possible to install packages in require dev globally with one ) 
クイック質問、そして私のアイデアについて何も愚かなことが一般的であるかどうか教えてください/これへのより良いアプローチがある場合: 継続的な配達パイプラインを作成する目的で、「require-dev」を持つコンポーザでさまざまな種類のテストに必要なパッケージを...

3  Gitlab連続配信オプション  ( Gitlab continuous delivery options ) 
私はiOS開発者です 私はRedmine + Jenkins + HockeyAppよりも優れているかどうかを確認しようとしているgitlabと遊んでいます。 gitlabは、AD-HOC iOSビルドをHocKeyApp(またはTestFlight)にアップ...

1  継続的な統合と継続的な展開を使用するための良いUSECASEとは何ですか?  ( What is a good usecase for using continuous integration continuous deployment ) 
私は継続的な統合のためにいくつかの利用可能なリソースを経験しました(&amp;継続的な配達と展開)のようなもの: HTTPS://www.Atlassian・コム/連続配信/原理/連続統合 - VS-Delivery-VS-展開 https://...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有