LoginSignup
6

More than 5 years have passed since last update.

travis-ciを使って、S3の擬似版s3rverのDockerイメージを作って公開してみよう!

Posted at

目的

takezoeさんの記事、「AWS上で動作するアプリケーションをいかにローカルで開発するか?」に触発されて、
今度は、擬似的なs3のDocker Imageを作成できるか試してみることにしました!

成果物

参考資料

手順

1. GitHubでリポジトリを作成して、Dockerfileを用意する

FROM node

RUN npm install -g s3-proxy
RUN npm install -g s3rver

RUN mkdir -p /data

EXPOSE 4567

CMD ["s3rver", "-d", "/data", "-p", "4567", "-h", "0.0.0.0"]

で確認したのですが、s3-proxyではなく、実態としてはjamhall/s3rverの方が、S3のサービスのようなものを提供してくれるみたいです。

2. .travis.ymlを用意する

上記を参考にして、.travis.ymlを実装しました。

travis.yml
sudo: required

language: node_js
node_js:
  - "4.1"

services:
  - docker

before_install:
  - docker build -t triplew/s3rver ./

script:
  - docker login -e="$DOCKER_EMAIL" -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
  - docker push triplew/s3rver

docker pushについては前回と同様の手順でpushしました。

3. git pushをして、travis ciを走らせる

今回もさくっと行けました^^

イメージ自体が利用可能かどうかはこれから見てみようと思います^^;

利用方法

実行環境

  • Client ローカルのMacOS
  • Server どこかのAWSとかどこかのGCPとか
  • curl利用

1. docker runでコンテナを起動

docker run -d -p 4567:4567 triplew/s3rver

2. curlでバケット作成

curl -XPUT localhost:4567/hoge

3. curlでファイルアップロード

curl -XPUT -T hello.txt localhost:4567/hoge/

4. curlでファイルダウンロード

curl -XGET localhost:4567/hoge/hello.txt

使えないこともなさそうな印象ですね!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6