Casual Developers Note

エンジニアやデザイナー向けの技術情報・英語学習情報・海外留学情報・海外旅行情報を提供中。世界を旅して人生を楽しもう。

  • ホーム
  • 技術 Tips & Tutorials
  • 技術塾
  • ライフハック
  • 海外留学
  • 英語学習
  • コラム
  • お問い合わせ
現在の場所:ホーム / アーカイブdeploy

2018年9月3日 By KD コメントを書く

Heroku入門: 6日間ブートキャンプ

Heroku入門:  6日間ブートキャンプ


Herokuに入門したいエンジニア向けにこのブログの記事の中から厳選した記事を紹介します。

はじめに

HerokuはWebアプリケーションを簡単にデプロイできる人気のPaaS環境です。Herokuコマンドを使うことで、AWSなどのIaaS環境と比べて、とても簡単にWebアプリケーションをデプロイできます。この使い方を学べば、自分で作ったWebアプリケーションを公開できるようになります。

それでは、ブートキャンプを始めましょう。

カリキュラム

試すためのWebアプリケーションを開発済みの前提で、そのアプリケーションをHerokuにデプロイして稼働させる方法を学ぶカリキュラムです。

【1日目】 Herokuのアカウント作成し、WebアプリケーションをDocker化してHerokuにデプロイする

初級JavascriptフルスタックエンジニアのためのReactとExpressの同時開発チュートリアル(Dockerコンテナ化してHerokuにデプロイ編)

【2日目】 Herokuアプリを無料で24時間稼働させる

Herokuの無料dynoをスリープさせないで24時間稼働させる4つの方法

【3日目】 Herokuアプリに独自ドメインを設定する

Herokuアプリに独自ドメインを設定する方法

【4日目】 HerokuアプリにSSLを設定する

HerokuアプリにSSLを設定する方法

【5日目】 Herokuのデプロイ先をステージング環境と商用環境で分ける

Herokuのデプロイ先をステージング環境と商用環境で分ける方法

【6日目】 Heroku上にNginxでリバースプロキシを構築する

Heroku上にNginxでリバースプロキシを構築する方法

最後に

いかがでしたか?これでHerokuの基本的な使い方をマスターできたことでしょう。それでは。

カテゴリ : 技術塾 タグ : bootcamp, deploy, docker, heroku

2018年8月3日 By KD コメントを書く

Heroku Container Registryのcontainer:push後のcontainer:releaseの対応方法

Heroku Container Registryのcontainer:push後のcontainer:releaseの対応方法

最近HerokuのContainer Registryのデプロイ方法が変更されました。今回は、その変更への対応方法を紹介します。

はじめに

2018年3月29日にHerokuのContainer Registryのデプロイ方法が変更されました。変更内容はこれです。今まではheroku container:pushをすれば、DockerイメージがPushされて、自動的にデプロイされていました。これがDockerイメージPush用のheroku container:pushおよびリリース用のheroku container:releaseに分割されました。個人的には余計なお世話なのですが、分割されてしまったので対応しましょう。(Herokuユーザには事前にHerokuのプロダクトオーナーから意見を聞くようなメールが来ていたので、この時に「やめとけ」と言っておけば良かったです。。。)

それでは、対応方法を紹介します。

対応方法

heroku container:pushを使っていた場合

Herokuコマンドを使っている場合です。この場合は対応方法は簡単で、単にheroku container:releaseを追加で実行するだけです。プロセスタイプがwebの場合は以下のようになります。

$ heroku container:push web
$ heroku container:release web

既存のDockerイメージをdocker pushしていた場合

DockerHubなどのDockerレジストリ・サービスを使っていた場合です。この場合は「heroku container:release」をしてもうまくいかないので、このStackOverflowを参考にして以下のようなリリーススクリプトを用意します。

heroku-container-release.sh

#!/bin/bash

imageId=$(docker inspect registry.heroku.com/${your-heroku-app}/web:latest --format={{.Id}})
payload='{"updates":[{"type":"web","docker_image":"'"$imageId"'"}]}'
curl -n -X PATCH https://api.heroku.com/apps/${your-heroku-app}/formation \
-d "$payload" \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.heroku+json; version=3.docker-releases" \
-H "Authorization: Bearer ${your-heroku-api-token}"

${your-heroku-app}と${your-heroku-api-token}は適宜読み替えて下さい。

これを使って、以下のように実行すればOKです。例としてDockerHubからイメージをPullしてからHerokuにデプロイする場合を想定してみましょう。

$ docker pull ${your-dockerhub-user}/${your-dockerhub-registory}:latest
$ docker tag ${your-dockerhub-user}/${your-dockerhub-registory}:latest registry.heroku.com/${your-heroku-app}/web:latest
$ docker push registry.heroku.com/${your-heroku-app}/web:latest
$ bash ./heroku-container-release.sh

${your-dockerhub-user}、${your-dockerhub-registory}も適宜読み替えて下さい。

最後に

いかがでしたか?Herokuのヘビーユーザはすでに対応済みの内容だったと思いますが、久しぶりにデプロイして失敗した場合は今回の方法で対処できたと思います。それでは。

カテゴリ : 技術 Tips & Tutorials タグ : container-registry, deploy, docker, heroku, release

ブログ更新情報や海外の関連情報などを配信する無料メルマガ

Sponsored Links

About Author

KD

世界を旅し日本を愛するエンジニア。大学でコンピュータサイエンスの楽しさを学び、日本の大手IT企業で働く中で、新しい技術やスケールするビジネスが北米にある事に気づく。世界に挑戦するための最大の壁が英語であったため、フィリピン留学およびカナダ留学を経て英語を上達させた。現在は日本在住でエンジニアとして働きつつ、次の挑戦に備えて世界の動向を注視している。挑戦に終わりはない。このブログでは、エンジニアやデザイナー向けの技術情報から、海外に留学したい人向けの留学情報、海外に興味がある人向けの海外旅行情報など、有益な情報を提供しています。

https://casualdevelopers.com/

最近の投稿

  • 2020年JS周辺のバックエンド寄りの注目技術!ネクストNodeJSの「Deno」と分散型パッケージレジストリの「Entropic」の紹介

    2020年JS周辺のバックエンド寄りの注目技術!ネクストNodeJSの「Deno」と分散型パッケージレジストリの「Entropic」の紹介

    2020年1月13日
  • 今さら聞けないJavaによる関数型プログラミング入門 ~ラムダ式、ストリーム、関数型インターフェース~

    今さら聞けないJavaによる関数型プログラミング入門 ~ラムダ式、ストリーム、関数型インターフェース~

    2019年11月4日
  • ReactのためのEslintおよびPrettierの設定方法 ~Airbnb JavaScript Style Guideの適用~

    ReactのためのEslintおよびPrettierの設定方法 ~Airbnb JavaScript Style Guideの適用~

    2019年10月30日
  • BashからZshに移行する方法(Mac編)

    BashからZshに移行する方法(Mac編)

    2019年10月21日
  • Create React Appを使わないでゼロからReactの開発環境を構築する方法(Webpack/Docker編)

    Create React Appを使わないでゼロからReactの開発環境を構築する方法(Webpack/Docker編)

    2019年9月30日

カテゴリ

  • 技術 Tips & Tutorials (100)
  • 技術塾 (6)
  • ライフハック (26)
  • 海外留学 (12)
  • 英語学習 (3)
  • コラム (6)

アーカイブ

最高の学習のために

人気記事ランキング

  • MySQLで「ERROR 2003 (HY000): Can't connect to MySQL server」と怒られた時の対処法
    MySQLで「ERROR 2003 (HY000): Can't connect to MySQL server」と怒られた時の対処法
  • SAKURAのメールボックスで独自ドメインのメールを設定し、Gmail経由で送受信する方法
    SAKURAのメールボックスで独自ドメインのメールを設定し、Gmail経由で送受信する方法
  • Jupyter Notebookで「The kernel appears to have died. It will restart automatically.」というエラーが出た場合の原因と対処法
    Jupyter Notebookで「The kernel appears to have died. It will restart automatically.」というエラーが出た場合の原因と対処法
  • Expressで「Cannot set headers after they are sent to the client」と怒られた時の対処法
    Expressで「Cannot set headers after they are sent to the client」と怒られた時の対処法
  • SLF4JとLogbackによるJavaのロギング入門(SLF4J + Logback + Lombok)
    SLF4JとLogbackによるJavaのロギング入門(SLF4J + Logback + Lombok)
  • Amazon EC2インスタンスにSSHできなくなった時の対処法
    Amazon EC2インスタンスにSSHできなくなった時の対処法
  • SpringBootのProfile毎にプロパティを使い分ける3つの方法
    SpringBootのProfile毎にプロパティを使い分ける3つの方法
  • [tips][perl] Perlで文字コードをいい感じに処理する方法
    [tips][perl] Perlで文字コードをいい感じに処理する方法
  • 爆速でJenkinsをマスターしよう(GitHubアカウント統合編) ~ JenkinsのGitHub Organizationの設定方法 ~
    爆速でJenkinsをマスターしよう(GitHubアカウント統合編) ~ JenkinsのGitHub Organizationの設定方法 ~
  • Go言語のためのVisual Studio Codeの設定方法
    Go言語のためのVisual Studio Codeの設定方法

Bitcoin寄付 / BTC Donation

Bitcoinを寄付しよう

BTC
Select Payment Method
Personal Info

Donation Total: BTC 0.0010

このブログの運営のためにBitcoinでの寄付を募集しています。お気持ち程度の寄付を頂けると管理者の励みになります。

Bitcoin寄付について知りたい方はこちらの記事へ

ビットコイン取引ならここ

  • ホーム
  • 技術 Tips & Tutorials
  • 技術塾
  • ライフハック
  • 海外留学
  • 英語学習
  • コラム
  • サイトマップ
  • タグ一覧
  • プライバシーポリシー
  • お問い合わせ

Copyright © 2023 KD - Casual Developers Notes