circleci_deployment_notifier 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +27 -3
- data/circleci_deployment_notifier.gemspec +1 -0
- data/images/new-relic-deployments.png +0 -0
- data/images/slack-deployment-notifications.png +0 -0
- data/lib/circleci_deployment_notifier/build_info.rb +3 -1
- data/lib/circleci_deployment_notifier/version.rb +1 -1
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 623ab579691418aeeddac43ad98528a7b10eb6f8
|
4
|
+
data.tar.gz: 76eb2e378db4c6ed18e50aed82c4270714e71e1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37ad34ed733bdf8847e2fbfc513af88ba72776a90a4e20538f7083f4ef549ef6a07af85c2886f1a210e2f34a4be3745184e5200d62e6e0e122ed453bae5fd327
|
7
|
+
data.tar.gz: f8fb9fec57cff128db9b329be4e59545075e08045978f7828200c5d212353cf4c2981a7b179409bb6141ea4d116b050a0e1815204d0cddc53b61014f6554f2f7
|
data/README.md
CHANGED
@@ -7,11 +7,15 @@
|
|
7
7
|
|
8
8
|
Sends deployment notifications based on deployments that occur on CircleCI.
|
9
9
|
|
10
|
+

|
11
|
+
|
12
|
+

|
13
|
+
|
10
14
|
Assumptions:
|
11
15
|
|
12
16
|
- Using CircleCI.
|
13
17
|
- Using Github.
|
14
|
-
- Using Slack for notifications.
|
18
|
+
- Using Slack for notifications and/or using New Relic.
|
15
19
|
|
16
20
|
You can also:
|
17
21
|
|
@@ -26,12 +30,13 @@ Add the following commands to your `circle.yml` deployment section:
|
|
26
30
|
```sh
|
27
31
|
gem install circleci_deployment_notifier
|
28
32
|
circleci_deployment_notify_slack -a "Application Name" -u "https://hooks.slack.com/services/WEBHOOK"
|
33
|
+
circleci_deployment_notify_new_relic -a "Application Name" --api-key "12345abcde" --app-id "12345678"
|
29
34
|
```
|
30
35
|
|
31
|
-
It's best to use environment variables for sensitive information
|
36
|
+
It's best to use environment variables for sensitive information such as Slack webhook URLs or API keys.
|
32
37
|
|
33
38
|
So here's an example `circle.yml` deployment section that
|
34
|
-
assumes you've set the environment
|
39
|
+
assumes you've set the environment variables `DEPLOYMENT_SLACK_WEBHOOK_URL` and `NEW_RELIC_API_KEY`:
|
35
40
|
```yml
|
36
41
|
deployment:
|
37
42
|
staging:
|
@@ -40,6 +45,7 @@ deployment:
|
|
40
45
|
- # TODO: something to deploy the application to staging
|
41
46
|
- gem install circleci_deployment_notifier
|
42
47
|
- circleci_deployment_notify_slack -a "Application Staging" -u $DEPLOYMENT_SLACK_WEBHOOK_URL
|
48
|
+
- circleci_deployment_notify_new_relic -a "Application Staging" --api-key $NEW_RELIC_API_KEY --app-id "12345678"
|
43
49
|
production:
|
44
50
|
tag: /v[0-9]+\.[0-9]+\.[0-9]+/
|
45
51
|
owner: MyOrganization
|
@@ -47,13 +53,31 @@ deployment:
|
|
47
53
|
- # TODO: something to deploy the application to production
|
48
54
|
- gem install circleci_deployment_notifier
|
49
55
|
- circleci_deployment_notify_slack -a "Application Production" -u $DEPLOYMENT_SLACK_WEBHOOK_URL
|
56
|
+
- circleci_deployment_notify_new_relic -a "Application Production" --api-key $NEW_RELIC_API_KEY --app-id "87654321"
|
50
57
|
```
|
51
58
|
|
59
|
+
### Tag Deploys
|
52
60
|
That `production` section is designed to build and deploy for tags like "v1.0.0" that are created in
|
53
61
|
the fork of the repo that belongs to MyOrganization.
|
54
62
|
(So tags created in forks do not cause a build or deployment.)
|
55
63
|
See [CircleCI docs](https://circleci.com/docs/configuration/#tags) for more info.
|
56
64
|
|
65
|
+
### Slack Webhook
|
66
|
+
|
67
|
+
Create an Incoming Webhook service in Slack, and assign it the channel you want it to post.
|
68
|
+
If you want to post staging and production notifications to different Slack channels, you will need
|
69
|
+
to create different Webhooks for each.
|
70
|
+
|
71
|
+
### New Relic
|
72
|
+
|
73
|
+
To get the New Relic App ID for each application, you must first have the application running and
|
74
|
+
reporting to New Relic.
|
75
|
+
This creates the application in New Relic and it will appear in the APM area of
|
76
|
+
[rpm.newrelic.com](https://rpm.newrelic.com).
|
77
|
+
|
78
|
+
Find the application in New Relic, and get the App ID from its URL.
|
79
|
+
The URL will look like `https://rpm.newrelic.com/accounts/<your_account_number>/applications/<app_id>`
|
80
|
+
|
57
81
|
## Development
|
58
82
|
|
59
83
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
|
+
spec.required_ruby_version = '~> 2.1'
|
23
24
|
spec.add_development_dependency "bundler", "~> 1.13"
|
24
25
|
spec.add_development_dependency "rake", "~> 12.0"
|
25
26
|
spec.add_development_dependency "rspec", "~> 3.0"
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: circleci_deployment_notifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robin Daugherty
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -130,6 +130,8 @@ files:
|
|
130
130
|
- circleci_deployment_notifier.gemspec
|
131
131
|
- exe/circleci_deployment_notify_new_relic
|
132
132
|
- exe/circleci_deployment_notify_slack
|
133
|
+
- images/new-relic-deployments.png
|
134
|
+
- images/slack-deployment-notifications.png
|
133
135
|
- lib/circleci_deployment_notifier.rb
|
134
136
|
- lib/circleci_deployment_notifier/build.rb
|
135
137
|
- lib/circleci_deployment_notifier/build_info.rb
|
@@ -146,9 +148,9 @@ require_paths:
|
|
146
148
|
- lib
|
147
149
|
required_ruby_version: !ruby/object:Gem::Requirement
|
148
150
|
requirements:
|
149
|
-
- - "
|
151
|
+
- - "~>"
|
150
152
|
- !ruby/object:Gem::Version
|
151
|
-
version: '
|
153
|
+
version: '2.1'
|
152
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
155
|
requirements:
|
154
156
|
- - ">="
|
@@ -156,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
158
|
version: '0'
|
157
159
|
requirements: []
|
158
160
|
rubyforge_project:
|
159
|
-
rubygems_version: 2.
|
161
|
+
rubygems_version: 2.5.1
|
160
162
|
signing_key:
|
161
163
|
specification_version: 4
|
162
164
|
summary: Sends deployment notifications based on deployments that occur on CircleCI.
|