safedb 0.10.16 → 0.10.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5abf5cbe11b5f624075cb0682b4ef2cbaf389e32c3893b1c65cda077db96678
4
- data.tar.gz: d722e1f6ac75bc26fbaaf13d31902c217405b927a1241ba6561fe3c332e93d49
3
+ metadata.gz: e5dfd7a7f6826912791779b1ebd825ff3462b1e1551d68356ae99d840b9d2840
4
+ data.tar.gz: a57603f5c08de34105db43a63794d4aab4064c85413a353f93efcfe82cf4b8fe
5
5
  SHA512:
6
- metadata.gz: 6b6a42085bd4c547b31ccfbb45220b9b6352c756c7407d78aadee78e6cf6279fee9c6dcb7645ae458cc431c4af247c37960cd07b6da02a070913546cf2c4d34f
7
- data.tar.gz: ac9685e0d0ff7fec147efe2844863a4214678c21d76f8e85bbdf267998676a3f75564700953f9fda9454d3f4b0b7b58a20a91b9f49b2a3d6b93ed9906c920025
6
+ metadata.gz: 634212d7457f6c1f00f3b1a88d5a73e935575415082a686bd8b23d3964a22db3ce8c40644a688732ab6e9918aa0a5c886c61dd5857371cb8f08dec9444d161e3
7
+ data.tar.gz: 31667882645d3f280c24705a85fe82edd657a54bd58fa6fde287ff1243804f4384d0a25d7ae3aa90cc8eb4ad7780eb34f685b7c9d8afb667d0345778616e442e
@@ -178,25 +178,30 @@ safedb.net has Dockerfiles through which the Cucumber/Aruba BDD (behaviour drive
178
178
  - **RedHat Enterprise Linux (RHEL)**
179
179
  - CoreOS containers
180
180
 
181
+
182
+ ### Pipeline Pre-Conditions
183
+
184
+ The pipeline runs on a Kubernetes platform. The deploy phase depends on the **[Rubygems.org credentials file mounted as a kubernetes secret](https://github.com/devops4me/kubernetes-pipeline)**.
185
+
186
+
181
187
  ### CI/CD Pipeline from Git to RubyGems.org
182
188
 
183
- The Jenkinsfile template used is in the RubyGem category so succesful builds, quality inspection and tests result in a new version of the software being released to RubyGems.org
189
+ The [Jenkinsfile] pipeline definition ensures that succesful builds, quality inspection and tests result in a new version of the software being released to RubyGems.org. In the main the steps are
184
190
 
191
+ - use the [rubygem build image in Dockerhub](https://hub.docker.com/repository/docker/devops4me/rubygem) to run reek static code analysis
192
+ - use the same image to run Cucumber / Aruba command line system tests
193
+ - pipeline ends **unless the branch is origin/release** (current implementation incorrectly specifies NOT origin/master)
194
+ - copy mounted credentials to **`~/.gem/credentials`** and lock down the file permissions
195
+ - use rake release to push the [latest version](lib/version.rb) of the safe gem
185
196
 
186
- ## Wiki Continuous Integration Pipeline
197
+ When Kubernetes mounts a secret it makes the entire space read only which can disrupt any software legitimately writing to the mounted path. This is why the secret is not directly mounted into the **`~/.gem/`** directory.
187
198
 
188
- The continuous integration pipeline runs on top of a dockerized **Jenkins and Kubernetes platform** and if successful is deployed into a cloud production Kubernetes platform.
199
+ ### The Git Release Script
189
200
 
190
- The pipeline steps defined in the Jenkinsfile are to
201
+ The [git-release.sh] script is run when a human being feels the software state is worth publishing. If so the steps are to
191
202
 
192
- - skip the build if the commit message has skip ci in it from version number update
193
- - use [Google Kaniko] to build this Dockerfile from this wiki base image
194
- - push the Dockerfile with the latest tag to this Dockerhub repository
195
- - create another pod to run the just-built devopswiki.co.uk image
196
- - configure the container with a readiness probe so it does not receive traffic too early
197
- - run a linkcheck activity using this Dockerhub linkcheck image (from this Github repo)
198
- - if the linkchecking produces errors the pipeline fails and stops
199
- - on success the devopswiki image is tagged with build number, Git commit ref and timestamp
200
- - a kubectl rollout is issued based on the newly tagged devopswiki image
201
- - change the standing start Kubernetes deployment configs to reflect the new tag
203
+ - commit and push to master
204
+ - change [lib/version.rb] to increment the **major** or **minor** versions
205
+ - run **`./git-release.sh`**
202
206
 
207
+ The git release script bumps up the patch version and forwards the origin/release branch to bring it up to date with master and pushes thus triggering the pipeline which in turn goes the extra mile to **[release the safe to Rubygems.org](https://rubygems.org/gems/safedb)**.
File without changes
@@ -1,3 +1,3 @@
1
1
  module SafeDb
2
- VERSION = "0.10.16"
2
+ VERSION = "0.10.17"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safedb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.16
4
+ version: 0.10.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apollo Akora
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-27 00:00:00.000000000 Z
11
+ date: 2020-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt
@@ -100,6 +100,7 @@ files:
100
100
  - README.md
101
101
  - Rakefile
102
102
  - bin/safe
103
+ - git-release.sh
103
104
  - lib/cli.rb
104
105
  - lib/controller/abstract/authenticate.rb
105
106
  - lib/controller/abstract/controller.rb
@@ -223,7 +224,6 @@ files:
223
224
  - pkg/README.md
224
225
  - pod-image-release.yaml
225
226
  - pod-image-validate.yaml
226
- - release.sh
227
227
  - safedb.gemspec
228
228
  homepage: https://www.safedb.net
229
229
  licenses: