niki12260714の日記

フリーランスのITエンジニアの呟き。

AWS Cloud9で編集してからgithubへpushするまでのコマンド

gitを使い慣れていない自分のコマンドメモとして。

1.ブランチを切る
AWS Cloud9のbashで、今自分がいるブランチがmasterブランチであることを確認してから実施
「git checkout -b "ブランチ名"」
→実行すると指定したブランチ名に切り替わる

※この後にコード編集を行う。
編集して、ステージに乗せられるようになったファイルは「git status」で確認できる

2.ステージに乗せる
「git add.」

3.コミットする
「git commit -m "編集コメント"」
※編集メッセージが無いとハマって抜け出せないので注意。
→もしかしたら抜け出す方法があるかもしれないけどコメントは絶対に書いた方がいいので、コメント無しにする方法を探すメリットはないと思われる

4.masterブランチにマージする
「git checkout master」
「git merge "ブランチ名"」
→マスターブランチに入り、マスターからマージするイメージ
→この後に編集したブランチは削除する(しなくてもいい、どっちでも)
 「git branch -d "ブランチ名"」

5.githubにpushする
「git push -u origin master」
→ここでIDとパスワードを聞かれるので、入力する

以上!

AWS Cloud9でgithubからcloneしたRuby on Railsを動かす

当然っていえば当然なんですが、cloneしてきただけだと動かないわけで。
こちらを参考にして、動作させるべく四苦八苦。

tyoshikawa1106.hatenablog.com

こちらにある通り、「gem install bundler」を実施。
こっちは成功。
なので、次に「bundle install 」を実施したところ、「could not locate gemfile」というエラーが出ました。
gemfileはちゃんとあるんだけどなぁ……と思って、さらにググったところ、gemfileがあるフォルダに移動してからコマンドを叩かないと行けなかった模様。
cdコマンドでgemfileがあるディレクトリに移動してからコマンドを叩くと成功しました。
で、AWS Cloud9ではrailsの起動は「rails start」ではなく、「rails s -b $IP -p $PORT」というなんか長いオプションが必要になります。
bundle installが成功すると、これが効くようになります。
※やっていないと、そんなコマンド無いよ、と怒られます
サーバーを起動してから画面上部にあるPreviewを見てみると、「ActiveRecord::PendingMigrationError」というエラーが発生しています。
参考にしたページにもあり、またエラーをググると同じ現象が出ていますが、つまりはdbをmigrateしてないよ、っていうことらしい。
なので、「rails db:migrate」を実行しましたが、私の環境だとあるテーブルが存在しないよ、というエラーが出てしまいます。
つらつらエラーを眺めていたんですが、どうやらmigrateフォルダに入っている、作成中にmigrateしたなにかが足りなくなっている模様。
ぬーん、ならば更新履歴なんていらないんだから消しちゃえ。
ってことで、/db/migrateフォルダに入っている奴を全消ししたのに、再度「rails db:migrate」を実行、エラーなし。
再び「rails s -b $IP -p $PORT」を実行し、previewを押すとエラーは無くなり、白い画面になりました。
なので、ログイン画面に移動すべく、末尾に「/login/index」と足してEnterを押したら真っ白……
あれ?
ターミナル見ると、ちゃんと動いているっぽいけど……
でもまぁ、動かすところまではできました!

AWS Cloud9にgithubからcloneしてくる

これで合っているかいまいちわからんのですが、githubにある自分のレポジトリを、AWS Cloud9にクローンしてきました。
参考にしたにはこちら。

docs.aws.amazon.com

Cloud9にgit環境の導入のため、以下のコマンドをそれぞれ叩きます。
sudo yum -y update
sudo yum -y install git
で、gitが入ったかどうか「git --version 」で確認。

f:id:niki12260714:20180420091647j:plain

ちゃんとバージョン情報が表示されたので、入ったようです。
次に自分のgitのIDとメールアドレスを登録

git config --global user.name "USER_NAME"

git config --global user.email EMAIL_ADDRESS

こちらは特にレスポンス無し。
ちょっと不安でしたが、次に自分のgithubのページに行って、cloneしてくるレポジトリのURLをコピーしてきます。

f:id:niki12260714:20180420091954j:plain

「Clone or download」をクリックするとURLが表示されるので、そのURLをコピー。
で、cloud9に戻って、コマンドを叩きます。
「git clone "URL"」

f:id:niki12260714:20180420092228j:plain

するとcloneされてきて、確かに自分がgithubにあげたコードが落ちてきています。
以上終了!

AWS Cloud9でRuby on Rails開発環境を構築する(とりあえず完成)

どうにもCodeStarからCloud9が作れないので、これはCloud9でrubyインストールした方が早いな、と判断。
※きっと英語がすらすら読めればエラー解読できると思うんですが、出来なかった……
 多分、なんかキーが足りてないor権限設定をしてないのが問題という気がする
というわけで、Cloud9のページに行って、直接「Create environment」ボタンを押して、環境を構築。

f:id:niki12260714:20180419100737j:plain

開発環境の名前を入れ、Next stepへ。
次の設定はなにも変えず、最後までボタンぽちぽち。
で作られたのが空の環境。
ここにrubyを入れます。

f:id:niki12260714:20180419101034j:plain

bashから「rvm install 2.0.0」を実行すると、「error(23)」が出て失敗。
ぐぐってみると、どうやらroot権限がないユーザーはrvm installが実行できないよ、ということらしい。
うーん、クラウドに借りている開発環境だから、bashの実行ユーザーを変えるってのはできないのか?
でもそうすると、ruby環境を構築できないじゃないか、どうやってやるんだろう、ともうちょっと見てみると、こちらのページに行き当たりました。

d.hatena.ne.jp

「rvmsudo rvm install 2.0.0」で実施したところ、成功!
「WARNING: Please be aware that you just installed a ruby that is no longer maintained (2017-04-01), for a list of maintained rubies visit:」の警告が出てきましたが、これは最新版入れてないと出てくるものなのでしょう。
というわけで、rubyを入れられたので、次はrailsを入れます!

追記:
railsのインストールもrvmsudoでできました。
「rvmsudo rvm gemset install rails -v 4.0.5」でさくっ、と入ったので、バージョン確認。
ruby -v」「rails -v」でそれぞれ、バージョン番号が表示されることを確認したので、これでrails開発環境は構築できたようです!

AWS Cloud9でRuby on Rails開発環境を構築する(途中経過)

今週からプログラム塾に通っています。
通うって言っても、オンライン学習ですけれど、侍エンジニア塾さんのお世話になっています。

早速、コーチの方と面談をし、作るアプリについて概要をお話しました。
そちらはまた別途。
そこで宿題が出されまして、「Amazon Cloud9に、これまで作ったrubyのアプリを移行すること」です。
なので、Amazon Cloud9とはなんぞや、ruby on railsを移行するにはどうすればいいのかを調べていて、振り返りも含めて、ここに記述します。

Amazon Cloud9は、簡単に言うと、Webで行える開発環境です。
開発環境構築って大変ですよね……開発マシンのOSやら、元々入っているソフトとの絡みやらなにやら……。
そういうのをまとめてWebでやっちゃおう! っていうもの。
そしてWebにあることで、他の人から参照するのが簡単になり、コードレビューもしやすくなるそう。
なるほど、これはプログラムの勉強には良さそう。

というわけで、AWSのアカウントを作成。
これにはクレジットカードと電話番号が必要になります。
クレカは、なにか料金がかかるわけではなく(有料のを使う時にはここから使うよ、という旨のメッセージは出てくる)、アカウント作るだけなら無料です。
悪いことする人が使ったから、その対策らしい。
こっちはさくっ、とできたので、さてCloud9をいれるには、とググってみたら、丁度ぴったりのページを発見。

qiita.com

こちらをもとに、環境構築へ。
まずはCodeStarで、作る言語と環境のセットを設定。

f:id:niki12260714:20180418112935j:plain

凄い沢山言語がある……goもPythonも、Node.jsもある……!
Node.jsは触ってみたかったんで、Ruby環境構築したらやってみようとか考えつつ、参考ページを見てボタンぽちぽち。

で、エラーですよ!

f:id:niki12260714:20180418120031j:plain

肝心のCloud9の構築が上手く行っていない模様。
でもIDEを新規作成>Cloud9でやると、「この名前の環境はすでに存在します」って言われるんですよね……なんだろう……。
とりあえずは、ここまで。

Visual Studio CodeでGo言語のHello World!

初心者過ぎて誰も書かないと思うんで、自分メモ。
Visual Studio Codeでgo言語のプログラムファイルを作成して動かす方法。


開発環境を構築したら、任意のフォルダを作って、Visual Studio Codeのエクスプローラーで開きます。
そしてファイルの追加で、「(ファイル名).go」を作る。
で、以下のようにコードを記述。

package main

import "fmt"

func main() {
    fmt.Println("Hello go World!")
}

そしたら、ターミナルからコマンドを打つ。

f:id:niki12260714:20180402081330j:plain

go run (ファイルパス)

→これで実行結果が表示される

Go言語メモ

ちょっとGo言語を触ってみようと思って、メモを取っています。
※開発環境の設定って最初の1回しかやらないからほぼほぼ覚えていなくて、後で困ることもあるんで、メモ取りです。
参考にしたのはこちら。

qiita.com

既にVisual Studio Codeは入っているし、gitも持っているんで、Goのインストールから。

https://golang.org/dl/

ここから、Windows版をダウンロード。
なにも考えずにNext押していって、finishまでいきました。

f:id:niki12260714:20180402064735j:plain

※どうでもいいけど、go言語のマスコット、微妙に目がイッちゃっているのが気になる……初期のはもっとイッちゃっているので、怖いもの見たい人はググってどうぞ。

次は環境変数の追加。
ここはqiitaに通りに。

次にVisual Studio Codeを起動。

左下の拡張機能をクリックして、検索ウィンドウに「go」といれるとトップに出てきたので、それをインストール

f:id:niki12260714:20180402070619j:plain

次にgoパッケージのインストール。
ここもqiitaに書いてある順番で、Visual Studio Codeのターミナルウィンドウからインストールしていきます。
順番にコマンドをコピペしてEnterキーを押すだけのお仕事。

そして念の為の再起動をかけて終わり。
ここまで約45分。
※途中でVisual Studio Codeの更新が来ていたのでかけたり、飼い猫に呼ばれて高いところから下してあげたりしたんで、集中すればもっと早く作れるはず