長生村本郷Engineers'Blog

千葉県長生村本郷育ちのエンジニアが書いているブログ

Vagrant + Ansible で go実行環境構築し、フレームワーク(goji)で簡易的なCRUD処理実行

環境

go実行構築環境

VagrantへAnsibleで以下環境構築します。

Linux(Centos6.5) + Nginx + MySQL + Go

$ git clone https://github.com/kenzo0107/Vagrant-Ansible
$ cd Vagrant-Ansible/centos6/lnmg
$ vagrant up
$ vagrant ssh-config > ssh.config
$ ansible-playbook lnmg.yml
sshログインしてgoのバージョン確認します。
$ vagrant ssh
[vagrant@vagrant-centos65 ~]$ go version
go version go1.4.1 linux/amd64
DB: testdb作成
[vagrant@vagrant-centos65 ~]$ mysql -u root
mysql> create database testdb
mysql> quit

Go SampleProject ダウンロード

プロジェクトtree
go_project
├── db
│   └── migrate.go
├── go-sql-driver
│   └── mysql
├── jinzhu
│   └── gorm
├── lib
│   └── pq
├── models
│   └── user.go
├── route
├── route.go
├── user_controller.go
├── views
│   └── user
│       ├── exit.html
│       ├── index.html
│       └── new.html
├── wcl48
│   └── valval
└── zenazn
    └── goji
  • vagrantsshログインしgo getでgo_projectインストール
$ vagrant ssh
[vagrant@vagrant-centos65 ~]$ go get github.com/kenzo0107/go_project
  • project内のgoのbinaryファイルのrouteを実行
[vagrant@vagrant-centos65 ~]$ cd ~/go/src/github.com/kenzo0107/go_project
[vagrant@vagrant-centos65 ~]$ ./route
2015/06/14 14:27:07.749545 Starting Goji on [::]:8000

ユーザ入力ページへアクセス

http://192.168.33.11:8000/user/index


~/go/src/github.com/kenzo0107/go_project/routeは
go build route.go user_controller.goにより生成されたbinaryファイルです。


参考URLqiita.com




基礎からわかる Go言語

基礎からわかる Go言語

はじめての「Go言語」 (I・O BOOKS)

はじめての「Go言語」 (I・O BOOKS)