1. rei-ta

    Posted

    rei-ta
Changes in title
+bitbucketから、pipeline経由でAWS s3にアップロードする
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,51 @@
+bitbucketで差分管理しているリソースを、AWS s3にpipeline経由でアップロードする。
+(静的htmlのみ使用するアクセスが少ないwebサイトをs3のhosting機能で運営することにした。)
+
+リポジトリの設定からEnable Pipelinesをonにして、bitbucket-pipelines.ymlを設置する。
+
+![image.png](https://qiita-image-store.s3.amazonaws.com/0/83911/6b6908b3-33be-28c8-f384-b3278c5f7337.png)
+
+今回は、masterへのcommitのみ、s3にアップロードする。
+
+```json:qiita.rb
+# This is a sample build configuration for Other.
+# Check our guides at https://confluence.atlassian.com/x/5Q4SMw for more examples.
+# Only use spaces to indent your .yml configuration.
+# -----
+# You can specify a custom docker image from Docker Hub as your build environment.
+image: atlassian/default-image:2
+
+pipelines:
+ default:
+ - step:
+ # set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY as environment variables
+ name: Deploy to S3
+ deployment: test # set to test, staging or production
+ # trigger: manual # uncomment to have a manual step
+ image: atlassian/pipelines-awscli
+ script:
+ - aws s3 sync --delete . s3://<bucket_name>
+```
+
+AWS側に、s3にアクセスできるユーザを作成する。
+今回は、ユーザ、bitbucketを作成して、s3accessにフルでアクセスできるグループに所属させた
+![image.png](https://qiita-image-store.s3.amazonaws.com/0/83911/277fe147-39d3-4dec-edf9-3948c77e05ac.png)
+
+アクセスキーを、リポジトリの設定→Repository variablesに設定する
+
+AWS_ACCESS_KEY_ID アクセスキーID
+AWS_DEFAULT_REGION デフォルトリージョン
+AWS_SECRET_ACCESS_KEY 対応するキー
+
+![image.png](https://qiita-image-store.s3.amazonaws.com/0/83911/ef012e48-0b4e-6790-62e8-5be978c3ed0d.png)
+
+アップロードに成功
+
+![image.png](https://qiita-image-store.s3.amazonaws.com/0/83911/a8348442-5ea3-4e31-aa39-f16ee7600c00.png)
+
+アクセスキーなどを設定しないと、unable to locate credentials
+
+![image.png](https://qiita-image-store.s3.amazonaws.com/0/83911/2641fe46-782c-b68a-23db-ee7b541d1ff7.png)
+
+
+