byClassmethod検索AWSAlexaモバイルビッグデータサーバーレスTableauAlteryxイベント「AWSとGitHubで始めるDevOpsハンズオン」の資料を公開します!CodeBuildCodeDeployCodePipeline2017年06月05日knakayama(84)171171件のシェア(すこし話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。はじめにこんにちは、中山です。弊社はGitHubと国内初のサービスパートナー契約を結びました。そこで、ソースコード共有サービスとしてデファクトスタンダードとなっているGitHubと、クラウド業界で高いシェアを誇っているAWSを組み合わせて、継続的インテグレーション/継続的デリバリーを構築するハンズオンを実施します。募集ページも公開しているので是非お越しください。大阪から、次に東京で開催します。本エントリではハンズオンで利用する資料を事前に公開します。いった内容を実施するのかぜひご覧になってください。ハンズオンでは弊社エンジニアが各種サービスの説明をしながらステップバイステップで進めていきますので、「まだ触ったことがないけどついていけるかな」といった不安感があっても大丈夫です。参加してGitHub/AWSの知識を持ち帰っていただければと思います。「もうすでに触ったことあるよ」といった方には、弊社の豊富なAWS構築事例で得られた知見をご紹介したいと思いますので、より深い知識を得られるともいます。突っ込んだご質問も募集中です!手順ハンズオンは以下の手順で進めていきます。本エントリでは簡略的な説明になっていますが、会場では一つ一つ説明しながら進めていきます。最終的に以下のような構成を作成します。リポジトリのフォーク今回のハンズオンで利用するサンプルアプリケーションを自分のGitHubアカウントに事前にフォークしておきましょう。アプリケーションはExpressで作成した簡単なWebアプリケーションです。以下のリンクを開いてください。knakayama/aws-github-devops-hands-on-sample-app画面右上にある「Fork」ボタンをクリックすると以下のようにフォークが始まります後ほどソースコードを修正するので、ローカルにクローンしておきましょう。以下のコマンドをターミナルソフトウェア上で実行してください。自分のGitHubアカウント名に置き換えてください。コマンドなどで正常にクローンが実行されたことを確認してください。キーペアの作成インスタンスにSSHでログインするためにキーペアを事前に作成しておきます。今回のハンズオンではインスタンスにSSHでログインしない想定ですが、デバッグ用途などで用意しておくと便利です。作成している場合この作業は必要ありません。本ハンズオンではオートスケーリンググループ内のインスタンスに対してアプリケーションをデプロイしていきます。一からマネジメントコンソールで作成すると大変なので、CloudFormationのテンプレートでサクっと作成しましょう。このテンプレートでは以下のスタックを作成します。以下のリンクをクリックするとスタックの作成画面が表示されます。スタック名をわかりやすい名前(hands-on-stackなど)にし、事前に作成したキーペアをパラメータのプルダウンメニューから選択してください。スタックの作成後、CloudFromationの「出力」で表示されるロードバランサ(ELB)のFQDNにアクセスして以下のような画面が表示されることを確認してください。Roleを作成しておきましょう。CodeDeploy」を選択してクリック「ポリシー名」に「AWSCodeDeployRole」という名前のポリシーが表示されるので、チェックボックスにチェックを入れて「次のステップ」をクリック最後に確認画面が表示されるので、「ロール名」にわかりやすい名前(hands-on-codedeploy-roleなど)を入力して、「ロールの作成」をクリックすると、「ロール」の画面から先程作成したロールが表示されます。パイプラインの作成ハンズオンで利用する主要なサービスのCodePipeline/CodeBuild/CodeDeployを利用したパイプラインを作成していきます。1つずつ作成することも可能ですが、CodePipelineの画面からいっぺんに作成すると簡単です。新たにアプリケーションを作成します。Roleの作成が完了したら「次のステップ」をクリック最後に確認画面が表示されるので、内容を確認後、「パイプラインの作成」をクリックすると、パイプラインが自動で開始されます。この時点では必要な設定が完了していないため以下のように失敗してしまいます。次のステップで作成していきましょう。エディタを開いて以下の内容でリポジトリのトップディレクトリに保存してください。各種Hookスクリプトを用意します。先程と同じように以下の内容でファイルを保存してください。リポジトリへのプッシュ各設定ファイルの準備ができたらフォークしたリポジトリへプッシュしましょう。以下のコマンドを実行してください。パイプラインの動作確認GitHubリポジトリへのプッシュを契機にパイプラインが実行されます。最後にパイプラインが正常に動作するか確認しましょう。最終的に以下の画像のように全てのステージで「成功」と表示されたらOKです。CodeBuild/CodeDeployの画面からより詳細な結果を確認できます。アクセスするとExpressで作成したWebアプリケーションが表示されます。時間が余ったら以下の問題をやってみましょう。こちらは一度自分でどうやって設定するのか考えて実施してみてください。後ほど答え合わせをやります。ハンズオン環境の掃除ハンズオンで作成した環境を削除したい場合は以下の手順を参考にしてください。環境を削除する際には順番が重要です。CloudFormationで作成したものと手動で作成したものが相互に参照しているからです。以下の順番で削除していきます。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。