Go言語のテンプレートエンジンを作成しました

今後、Go言語でWebアプリケーションを作成するにあたり、まずはGo言語のテンプレートエンジンを作成しました。

Gold - Template engine for Golang

Go言語標準パッケージのhtml/templateのテンプレートをラップしたものになっています。

今後、自分で実際に使用しながら改善・改良していきたいと思います。

Go言語のパッケージドキュメントをWebブラウザで開くコマンドを作成しました。

Go言語のパッケージドキュメントをWebブラウザで開くコマンドを作成しました。

goc - Command which opens Go package documentation in a web browser

オープンソース版Droneでのビルド成功後にS3へファイルを配布する方法

オープンソース版Droneでのビルド成功後にS3へファイルを配布する方法は以下の通りです。

.drone.ymlファイルの設定

以下の通りpublish: s3:を定義します。

image: go1.2
env:
  - GOPATH=/var/cache/drone
script:
  - go build main.go
publish:
  s3:
    acl: public-read
    region: ap-northeast-1
    bucket: yosssi
    access_key: AWSアクセスキー
    secret_key: AWSシークレットキー
    source: /var/cache/drone/src/github.com/yosssi/drone-test-publish/main
    target: test/

ビルドの実施

ビルド実施後にS3への配布が行われることを確認します。

f:id:kysd:20140213215034p:plain

配布モジュールの確認

S3にモジュールが配布されていることを確認します。

f:id:kysd:20140213215138p:plain

オープンソース版Droneでのビルド成功後にHerokuへモジュールを自動的にデプロイする方法

オープンソース版Droneでのビルド成功後にHerokuへモジュールを自動的にデプロイする方法は以下の通りです。

HerokuへのSSH Keyの登録

Drone側でリポジトリ名 -> Settings ->Key Pairsと遷移してSSH Keyを取得し、それをHeorkuのAccountのSSH Keysへ設定します。

f:id:kysd:20140213165622p:plain

.drone.ymlの設定

以下のようにdeploy: heroku: app:を設定します。app:にはHerokuのアプリケーション名を指定します。

image: go1.2
env:
  - GOPATH=/var/cache/drone
script:
  - go build
  - go test -cover -v
deploy:
  heroku:
    app: drone-heroku-test

デプロイの確認

ビルドが成功すると、以下のように、Herokuへのデプロイが実施されます。

f:id:kysd:20140213170114p:plain