Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/release'

Yuki Takei 9 anni fa
parent
commit
c4cb7e8221
2 ha cambiato i file con 86 aggiunte e 22 eliminazioni
  1. 51 0
      bin/wercker/trigger-crowi-plus-docker.sh
  2. 35 22
      wercker.yml

+ 51 - 0
bin/wercker/trigger-crowi-plus-docker.sh

@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# Trigger a new run
+# see: http://devcenter.wercker.com/docs/api/endpoints/runs#trigger-a-run
+
+# exec curl
+#
+# require
+#   - $WERCKER_TOKEN
+#   - $CROWI_PLUS_DOCKER_PIPELINE_ID
+#   - $RELEASE_VERSION
+#
+DATA=`echo '{ \
+    "pipelineId": "'$CROWI_PLUS_DOCKER_PIPELINE_ID'", \
+    "branch": "release", \
+    "envVars": [ \
+      { \
+        "key": "RELEASE_VERSION", \
+        "value": "'$RELEASE_VERSION'" \
+      } \
+    ] \
+  }' \
+`
+echo $DATA
+
+RESPONSE=`curl -X POST \
+  -H "Content-Type: application/json" \
+  -H "Authorization: Bearer $WERCKER_TOKEN" \
+  https://app.wercker.com/api/v3/runs -d '{ \
+    "pipelineId": "'$CROWI_PLUS_DOCKER_PIPELINE_ID'", \
+    "branch": "release", \
+    "envVars": [ \
+      { \
+        "key": "RELEASE_VERSION", \
+        "value": "'$RELEASE_VERSION'" \
+      } \
+    ] \
+  }' \
+`
+
+echo $RESPONSE | jq .
+
+# get http status code
+STATUS_CODE=`echo $RESPONSE | jq .statusCode`
+
+# exit
+if [ "$STATUS_CODE" = 200 ]; then
+  exit 0
+else
+  exit 1
+fi

+ 35 - 22
wercker.yml

@@ -27,6 +27,13 @@ test:
         echo "export MONGO_URI=$MONGO_URI"
         echo "export MONGO_URI=$MONGO_URI"
         npm test
         npm test
 
 
+  after-steps:
+    - slack-notifier:
+      url: $SLACK_WEBHOOK_URL
+      channel: ci
+      username: wercker
+      notify_on: "failed"
+
 
 
 build-prod:
 build-prod:
   steps:
   steps:
@@ -49,6 +56,13 @@ build-prod:
       code: |
       code: |
         npm run build:prod
         npm run build:prod
 
 
+  after-steps:
+    - slack-notifier:
+      url: $SLACK_WEBHOOK_URL
+      channel: ci
+      username: wercker
+      notify_on: "failed"
+
 
 
 build-dev:
 build-dev:
   steps:
   steps:
@@ -71,9 +85,19 @@ build-dev:
       code: |
       code: |
         npm run build:dev
         npm run build:dev
 
 
+  after-steps:
+    - slack-notifier:
+      url: $SLACK_WEBHOOK_URL
+      channel: ci
+      username: wercker
+      notify_on: "failed"
+
 
 
 release: # would be run on release branch
 release: # would be run on release branch
   steps:
   steps:
+    - install-packages:
+      packages: jq
+
     - script:
     - script:
       name: bump version
       name: bump version
       code: |
       code: |
@@ -81,8 +105,8 @@ release: # would be run on release branch
         # npm version to bump version
         # npm version to bump version
         npm version patch
         npm version patch
         # get version
         # get version
-        RELEASE_VERSION=`npm run version --silent`
-        echo "RELEASE_VERSION=$RELEASE_VERSION"
+        export RELEASE_VERSION=`npm run version --silent`
+        echo "export RELEASE_VERSION=$RELEASE_VERSION"
 
 
     - script:
     - script:
       name: commit and push
       name: commit and push
@@ -102,25 +126,14 @@ release: # would be run on release branch
       code: |
       code: |
         git push --delete origin $TMP_RELEASE_BRANCH
         git push --delete origin $TMP_RELEASE_BRANCH
 
 
-
-trigger-crowi-plus-docker:
-  steps:
     - script:
     - script:
       name: trigger crowi-plus-docker release pipeline
       name: trigger crowi-plus-docker release pipeline
-      code: |-  # strip linebreak
-        curl -X POST
-          -H "Content-Type: application/json"
-          -H "Authorization: Bearer $WERCKER_TOKEN"
-          https://app.wercker.com/api/v3/runs
-          -d
-            '{
-              "pipelineId": "$TARGET_PIPELINE_ID",
-              "sourceRunId": "$WERCKER_RUN_ID",
-              "branch": "release",
-              "envVars": [
-                {
-                  "key": "RELEASE_VERSION",
-                  "value": "$RELEASE_VERSION"
-                }
-              ]
-            }'
+      code: sh ./bin/wercker/trigger-crowi-plus-docker.sh
+
+  after-steps:
+    - slack-notifier:
+      url: $SLACK_WEBHOOK_URL
+      channel: ci
+      username: wercker
+      notify_on: "failed"
+