itamae-plugin-recipe-tmux 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +74 -0
- data/CHANGELOG.md +29 -2
- data/README.md +4 -6
- data/Rakefile +0 -28
- data/itamae-plugin-recipe-tmux.gemspec +3 -4
- data/lib/itamae/plugin/recipe/tmux/version.rb +1 -1
- data/mrblib +1 -0
- data/recipes/install.rb +5 -0
- metadata +24 -19
- data/Vagrantfile +0 -105
- data/ci/build.sh +0 -8
- data/ci/destroy_old_droplets.rb +0 -22
- data/wercker.yml +0 -81
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d2e6b03c47da7f5e4e93fdb8f09e186a20db85f4c3e89e95fc002058c5b604db
|
4
|
+
data.tar.gz: 0c817c18b5aabb095a937c2203da04c59d21f5152c58aef03aa02b9fd814aba9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4938103f7ade3f87d95b93f8772550f75e7d5c257f9a19d16215d26fd30ee314647b1d78dda5287d9aecf8752f5a00fb947ab85ecf86eb134fb3c2c5a64379f
|
7
|
+
data.tar.gz: 14240e3577b251d619326e39d46ea630b9c9a4f32d01dcd701063901ed957522baaa900bf2418b7af603aa69c67d32ed7a96e079373fe3610d17f93c8ae214b3
|
@@ -0,0 +1,74 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
orbs:
|
4
|
+
ruby-orbs: sue445/ruby-orbs@volatile
|
5
|
+
slack: circleci/slack@3
|
6
|
+
|
7
|
+
executors:
|
8
|
+
default:
|
9
|
+
docker:
|
10
|
+
- image: circleci/ruby:2.5.0
|
11
|
+
working_directory: ~/app
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
build:
|
15
|
+
parameters:
|
16
|
+
image:
|
17
|
+
type: string
|
18
|
+
|
19
|
+
executor:
|
20
|
+
name: default
|
21
|
+
|
22
|
+
steps:
|
23
|
+
- checkout
|
24
|
+
|
25
|
+
# Setup Docker
|
26
|
+
- setup_remote_docker
|
27
|
+
- restore_cache:
|
28
|
+
keys:
|
29
|
+
- v1-{{ .Environment.CIRCLE_JOB }}
|
30
|
+
paths:
|
31
|
+
- /caches/image.tar
|
32
|
+
- run:
|
33
|
+
name: Load Docker image layer cache
|
34
|
+
command: |
|
35
|
+
set +o pipefail
|
36
|
+
docker load -i /caches/image.tar | true
|
37
|
+
|
38
|
+
- ruby-orbs/bundle-install:
|
39
|
+
with_gemfile_lock: false
|
40
|
+
gemspec_name: "itamae-plugin-recipe-tmux"
|
41
|
+
update_always: true
|
42
|
+
|
43
|
+
- run: bundle exec itamae docker --node-yaml=recipes/node.yml recipes/install.rb --image=<< parameters.image >> --tag itamae-plugin:latest
|
44
|
+
|
45
|
+
- save_cache:
|
46
|
+
key: v1-{{ .Environment.CIRCLE_JOB }}-{{ epoch }}
|
47
|
+
paths:
|
48
|
+
- /caches/image.tar
|
49
|
+
|
50
|
+
- run: DOCKER_IMAGE=itamae-plugin:latest bundle exec rspec
|
51
|
+
- slack/notify-on-failure
|
52
|
+
|
53
|
+
build_jobs: &build_jobs
|
54
|
+
- build:
|
55
|
+
name: centos:7
|
56
|
+
image: centos:7
|
57
|
+
- build:
|
58
|
+
name: debian:jessie
|
59
|
+
image: debian:jessie
|
60
|
+
|
61
|
+
workflows:
|
62
|
+
version: 2
|
63
|
+
|
64
|
+
build:
|
65
|
+
jobs: *build_jobs
|
66
|
+
|
67
|
+
weekly_build:
|
68
|
+
triggers:
|
69
|
+
- schedule:
|
70
|
+
cron: "00 19 * * 5" # JST 4:00 (Sat)
|
71
|
+
filters:
|
72
|
+
branches:
|
73
|
+
only: master
|
74
|
+
jobs: *build_jobs
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,30 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [Unreleased](https://github.com/sue445/itamae-plugin-recipe-tmux/tree/HEAD)
|
4
|
+
[Full Changelog](https://github.com/sue445/itamae-plugin-recipe-tmux/compare/v0.1.3...HEAD)
|
5
|
+
|
6
|
+
## [v0.1.3](https://github.com/sue445/itamae-plugin-recipe-tmux/tree/v0.1.3) (2020/12/06)
|
7
|
+
[Full Changelog](https://github.com/sue445/itamae-plugin-recipe-tmux/compare/v0.1.2...v0.1.3)
|
8
|
+
|
9
|
+
**Merged pull requests:**
|
10
|
+
|
11
|
+
- Support mitamae [\#23](https://github.com/sue445/itamae-plugin-recipe-tmux/pull/23) ([shuuuuun](https://github.com/shuuuuun))
|
12
|
+
- many refactorings
|
13
|
+
|
14
|
+
## [v0.1.2](https://github.com/sue445/itamae-plugin-recipe-tmux/tree/v0.1.2) (2016/03/06)
|
15
|
+
|
16
|
+
[Full Changelog](https://github.com/sue445/itamae-plugin-recipe-tmux/compare/v0.1.1...v0.1.2)
|
17
|
+
|
18
|
+
**Merged pull requests:**
|
19
|
+
|
20
|
+
- Install make [\#6](https://github.com/sue445/itamae-plugin-recipe-tmux/pull/6) ([sue445](https://github.com/sue445))
|
21
|
+
- Setup CI [\#5](https://github.com/sue445/itamae-plugin-recipe-tmux/pull/5) ([sue445](https://github.com/sue445))
|
22
|
+
- Setup vagrant [\#4](https://github.com/sue445/itamae-plugin-recipe-tmux/pull/4) ([sue445](https://github.com/sue445))
|
23
|
+
- Add include path [\#3](https://github.com/sue445/itamae-plugin-recipe-tmux/pull/3) ([sue445](https://github.com/sue445))
|
24
|
+
- Add dependency [\#2](https://github.com/sue445/itamae-plugin-recipe-tmux/pull/2) ([sue445](https://github.com/sue445))
|
2
25
|
|
3
26
|
## [v0.1.1](https://github.com/sue445/itamae-plugin-recipe-tmux/tree/v0.1.1) (2016/02/24)
|
27
|
+
|
4
28
|
[Full Changelog](https://github.com/sue445/itamae-plugin-recipe-tmux/compare/v0.1.0...v0.1.1)
|
5
29
|
|
6
30
|
**Merged pull requests:**
|
@@ -9,5 +33,8 @@
|
|
9
33
|
|
10
34
|
## [v0.1.0](https://github.com/sue445/itamae-plugin-recipe-tmux/tree/v0.1.0) (2016/02/24)
|
11
35
|
|
36
|
+
[Full Changelog](https://github.com/sue445/itamae-plugin-recipe-tmux/compare/6f95dcea0bceed45175bfc1211d5eb7a632cfc05...v0.1.0)
|
37
|
+
|
38
|
+
|
12
39
|
|
13
|
-
\* *This
|
40
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/README.md
CHANGED
@@ -3,9 +3,8 @@
|
|
3
3
|
[Itamae](https://github.com/itamae-kitchen/itamae) plugin to install [tmux](https://tmux.github.io/) without any packages
|
4
4
|
|
5
5
|
[![Gem Version](https://badge.fury.io/rb/itamae-plugin-recipe-tmux.svg)](https://badge.fury.io/rb/itamae-plugin-recipe-tmux)
|
6
|
-
[![Dependency Status](https://gemnasium.com/sue445/itamae-plugin-recipe-tmux.svg)](https://gemnasium.com/sue445/itamae-plugin-recipe-tmux)
|
7
6
|
|
8
|
-
[![
|
7
|
+
[![CircleCI](https://circleci.com/gh/sue445/itamae-plugin-recipe-tmux/tree/master.svg?style=svg)](https://circleci.com/gh/sue445/itamae-plugin-recipe-tmux/tree/master)
|
9
8
|
|
10
9
|
## Installation
|
11
10
|
|
@@ -61,12 +60,11 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
|
61
60
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
62
61
|
|
63
62
|
## Testing
|
64
|
-
requirements [
|
63
|
+
requirements [Docker](https://www.docker.com/)
|
65
64
|
|
66
65
|
```sh
|
67
|
-
|
68
|
-
bundle exec
|
69
|
-
bundle exec rake spec:centos70
|
66
|
+
bundle exec itamae docker --node-yaml=recipes/node.yml recipes/install.rb --image=centos:7 --tag itamae-plugin:latest
|
67
|
+
DOCKER_IMAGE=itamae-plugin:latest bundle exec rspec
|
70
68
|
```
|
71
69
|
|
72
70
|
## Contributing
|
data/Rakefile
CHANGED
@@ -1,29 +1 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
-
require "rspec/core/rake_task"
|
3
|
-
|
4
|
-
task :spec => "spec:all"
|
5
|
-
|
6
|
-
HOSTS = %w(centos70 debian8)
|
7
|
-
|
8
|
-
namespace :spec do
|
9
|
-
task :all => HOSTS
|
10
|
-
|
11
|
-
HOSTS.each do |host|
|
12
|
-
RSpec::Core::RakeTask.new(host.to_sym) do |t|
|
13
|
-
puts "Running tests to #{host} ..."
|
14
|
-
ENV["TARGET_HOST"] = host
|
15
|
-
t.pattern = "spec/*_spec.rb"
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
namespace :itamae do
|
21
|
-
task :all => HOSTS
|
22
|
-
|
23
|
-
HOSTS.each do |host|
|
24
|
-
desc "Running itamae to #{host}"
|
25
|
-
task host do
|
26
|
-
sh "bundle exec itamae ssh --host=#{host} --vagrant --node-yaml=recipes/node.yml recipes/install.rb"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -21,9 +21,8 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.add_dependency "itamae"
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
spec.add_development_dependency "
|
27
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
24
|
+
spec.add_development_dependency "bundler"
|
25
|
+
spec.add_development_dependency "docker-api"
|
26
|
+
spec.add_development_dependency "rake"
|
28
27
|
spec.add_development_dependency "serverspec"
|
29
28
|
end
|
data/mrblib
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
./lib
|
data/recipes/install.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itamae-plugin-recipe-tmux
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sue445
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: itamae
|
@@ -30,34 +30,42 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
-
- - "<="
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: 1.10.6
|
33
|
+
version: '0'
|
37
34
|
type: :development
|
38
35
|
prerelease: false
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
40
37
|
requirements:
|
41
38
|
- - ">="
|
42
39
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
-
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: docker-api
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
45
46
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: rake
|
49
57
|
requirement: !ruby/object:Gem::Requirement
|
50
58
|
requirements:
|
51
|
-
- - "
|
59
|
+
- - ">="
|
52
60
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
61
|
+
version: '0'
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
65
|
requirements:
|
58
|
-
- - "
|
66
|
+
- - ">="
|
59
67
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
68
|
+
version: '0'
|
61
69
|
- !ruby/object:Gem::Dependency
|
62
70
|
name: serverspec
|
63
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -79,6 +87,7 @@ executables: []
|
|
79
87
|
extensions: []
|
80
88
|
extra_rdoc_files: []
|
81
89
|
files:
|
90
|
+
- ".circleci/config.yml"
|
82
91
|
- ".github_changelog_generator"
|
83
92
|
- ".gitignore"
|
84
93
|
- ".rspec"
|
@@ -87,11 +96,8 @@ files:
|
|
87
96
|
- LICENSE.txt
|
88
97
|
- README.md
|
89
98
|
- Rakefile
|
90
|
-
- Vagrantfile
|
91
99
|
- bin/console
|
92
100
|
- bin/setup
|
93
|
-
- ci/build.sh
|
94
|
-
- ci/destroy_old_droplets.rb
|
95
101
|
- itamae-plugin-recipe-tmux.gemspec
|
96
102
|
- lib/itamae/plugin/recipe/tmux.rb
|
97
103
|
- lib/itamae/plugin/recipe/tmux/default.rb
|
@@ -100,9 +106,9 @@ files:
|
|
100
106
|
- lib/itamae/plugin/recipe/tmux/ncurses.rb
|
101
107
|
- lib/itamae/plugin/recipe/tmux/tmux.rb
|
102
108
|
- lib/itamae/plugin/recipe/tmux/version.rb
|
109
|
+
- mrblib
|
103
110
|
- recipes/install.rb
|
104
111
|
- recipes/node.yml
|
105
|
-
- wercker.yml
|
106
112
|
homepage: https://github.com/sue445/itamae-plugin-recipe-tmux
|
107
113
|
licenses:
|
108
114
|
- MIT
|
@@ -122,8 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
128
|
- !ruby/object:Gem::Version
|
123
129
|
version: '0'
|
124
130
|
requirements: []
|
125
|
-
|
126
|
-
rubygems_version: 2.5.1
|
131
|
+
rubygems_version: 3.1.4
|
127
132
|
signing_key:
|
128
133
|
specification_version: 4
|
129
134
|
summary: Itamae plugin to install tmux without any packages
|
data/Vagrantfile
DELETED
@@ -1,105 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
# All Vagrant configuration is done below. The "2" in Vagrant.configure
|
5
|
-
# configures the configuration version (we support older styles for
|
6
|
-
# backwards compatibility). Please don't change it unless you know what
|
7
|
-
# you're doing.
|
8
|
-
Vagrant.configure(2) do |config|
|
9
|
-
config.vm.provider :digital_ocean do |provider, override|
|
10
|
-
override.vm.box = "digital_ocean"
|
11
|
-
override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
|
12
|
-
provider.token = ENV["DIGITALOCEAN_ACCESS_TOKEN"]
|
13
|
-
provider.region = "nyc1"
|
14
|
-
provider.size = "512MB"
|
15
|
-
|
16
|
-
if ENV["WERCKER"] == "true"
|
17
|
-
provider.ssh_key_name = "wercker-#{ENV['WERCKER_GIT_REPOSITORY']}"
|
18
|
-
override.ssh.private_key_path = "~/.ssh/id_rsa.vagrant"
|
19
|
-
else
|
20
|
-
provider.ssh_key_name = "local"
|
21
|
-
override.ssh.private_key_path = "~/.ssh/id_rsa"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
config.vm.define :centos70 do |c|
|
26
|
-
c.vm.box = "centos/7"
|
27
|
-
c.vm.provider :digital_ocean do |provider, override|
|
28
|
-
provider.image = "centos-7-0-x64"
|
29
|
-
end
|
30
|
-
c.vm.hostname = 'itamae-centos70'
|
31
|
-
c.vm.hostname += "-#{ENV['WERCKER_BUILD_ID']}" if ENV['WERCKER_BUILD_ID']
|
32
|
-
end
|
33
|
-
|
34
|
-
config.vm.define :debian8 do |c|
|
35
|
-
c.vm.box = "debian/jessie64"
|
36
|
-
c.vm.provider :digital_ocean do |provider, override|
|
37
|
-
provider.image = "debian-8-x64"
|
38
|
-
end
|
39
|
-
c.vm.hostname = 'itamae-debian8'
|
40
|
-
c.vm.hostname += "-#{ENV['WERCKER_BUILD_ID']}" if ENV['WERCKER_BUILD_ID']
|
41
|
-
end
|
42
|
-
|
43
|
-
# The most common configuration options are documented and commented below.
|
44
|
-
# For a complete reference, please see the online documentation at
|
45
|
-
# https://docs.vagrantup.com.
|
46
|
-
|
47
|
-
# Every Vagrant development environment requires a box. You can search for
|
48
|
-
# boxes at https://atlas.hashicorp.com/search.
|
49
|
-
# config.vm.box = "base"
|
50
|
-
|
51
|
-
# Disable automatic box update checking. If you disable this, then
|
52
|
-
# boxes will only be checked for updates when the user runs
|
53
|
-
# `vagrant box outdated`. This is not recommended.
|
54
|
-
# config.vm.box_check_update = false
|
55
|
-
|
56
|
-
# Create a forwarded port mapping which allows access to a specific port
|
57
|
-
# within the machine from a port on the host machine. In the example below,
|
58
|
-
# accessing "localhost:8080" will access port 80 on the guest machine.
|
59
|
-
# config.vm.network "forwarded_port", guest: 80, host: 8080
|
60
|
-
|
61
|
-
# Create a private network, which allows host-only access to the machine
|
62
|
-
# using a specific IP.
|
63
|
-
# config.vm.network "private_network", ip: "192.168.33.10"
|
64
|
-
|
65
|
-
# Create a public network, which generally matched to bridged network.
|
66
|
-
# Bridged networks make the machine appear as another physical device on
|
67
|
-
# your network.
|
68
|
-
# config.vm.network "public_network"
|
69
|
-
|
70
|
-
# Share an additional folder to the guest VM. The first argument is
|
71
|
-
# the path on the host to the actual folder. The second argument is
|
72
|
-
# the path on the guest to mount the folder. And the optional third
|
73
|
-
# argument is a set of non-required options.
|
74
|
-
# config.vm.synced_folder "../data", "/vagrant_data"
|
75
|
-
|
76
|
-
# Provider-specific configuration so you can fine-tune various
|
77
|
-
# backing providers for Vagrant. These expose provider-specific options.
|
78
|
-
# Example for VirtualBox:
|
79
|
-
#
|
80
|
-
# config.vm.provider "virtualbox" do |vb|
|
81
|
-
# # Display the VirtualBox GUI when booting the machine
|
82
|
-
# vb.gui = true
|
83
|
-
#
|
84
|
-
# # Customize the amount of memory on the VM:
|
85
|
-
# vb.memory = "1024"
|
86
|
-
# end
|
87
|
-
#
|
88
|
-
# View the documentation for the provider you are using for more
|
89
|
-
# information on available options.
|
90
|
-
|
91
|
-
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
|
92
|
-
# such as FTP and Heroku are also available. See the documentation at
|
93
|
-
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
|
94
|
-
# config.push.define "atlas" do |push|
|
95
|
-
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
|
96
|
-
# end
|
97
|
-
|
98
|
-
# Enable provisioning with a shell script. Additional provisioners such as
|
99
|
-
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
|
100
|
-
# documentation for more information about their specific syntax and use.
|
101
|
-
# config.vm.provision "shell", inline: <<-SHELL
|
102
|
-
# sudo apt-get update
|
103
|
-
# sudo apt-get install -y apache2
|
104
|
-
# SHELL
|
105
|
-
end
|
data/ci/build.sh
DELETED
data/ci/destroy_old_droplets.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
# via. https://github.com/itamae-kitchen/itamae/blob/v1.9.3/ci/destroy_old_droplets.rb
|
2
|
-
require 'net/https'
|
3
|
-
require 'json'
|
4
|
-
require 'time'
|
5
|
-
|
6
|
-
http = Net::HTTP.new("api.digitalocean.com", 443)
|
7
|
-
http.use_ssl = true
|
8
|
-
|
9
|
-
res = http.start do
|
10
|
-
http.get("/v2/droplets", "Authorization" => "Bearer #{ENV['DIGITALOCEAN_ACCESS_TOKEN']}")
|
11
|
-
end
|
12
|
-
|
13
|
-
droplets = JSON.parse(res.body)['droplets']
|
14
|
-
droplets.each do |droplet|
|
15
|
-
next unless /^itamae-/ =~ droplet['name']
|
16
|
-
if Time.now - Time.parse(droplet['created_at']) >= 60 * 60
|
17
|
-
puts "destroying #{droplet}..."
|
18
|
-
res = http.start do
|
19
|
-
http.delete("/v2/droplets/#{droplet['id']}", "Authorization" => "Bearer #{ENV['DIGITALOCEAN_ACCESS_TOKEN']}")
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/wercker.yml
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
# This references the default Ruby container from
|
2
|
-
# the Docker Hub.
|
3
|
-
# https://registry.hub.docker.com/_/ruby/
|
4
|
-
# If you want to use a specific version you would use a tag:
|
5
|
-
# ruby:2.2.2
|
6
|
-
box: sue445/rvm-vagrant-digitalocean@1.0.0
|
7
|
-
# You can also use services such as databases. Read more on our dev center:
|
8
|
-
# http://devcenter.wercker.com/docs/services/index.html
|
9
|
-
# services:
|
10
|
-
# - postgres
|
11
|
-
# http://devcenter.wercker.com/docs/services/postgresql.html
|
12
|
-
|
13
|
-
# - mongodb
|
14
|
-
# http://devcenter.wercker.com/docs/services/mongodb.html
|
15
|
-
|
16
|
-
# This is the build pipeline. Pipelines are the core of wercker
|
17
|
-
# Read more about pipelines on our dev center
|
18
|
-
# http://devcenter.wercker.com/docs/pipelines/index.html
|
19
|
-
build:
|
20
|
-
# Steps make up the actions in your pipeline
|
21
|
-
# Read more about steps on our dev center:
|
22
|
-
# http://devcenter.wercker.com/docs/steps/index.html
|
23
|
-
steps:
|
24
|
-
- rvm-use:
|
25
|
-
version: 2.3.0
|
26
|
-
|
27
|
-
- bundle-install:
|
28
|
-
jobs: 4
|
29
|
-
version: 1.10.6
|
30
|
-
|
31
|
-
- script:
|
32
|
-
name: echo ruby information
|
33
|
-
code: |
|
34
|
-
echo "ruby version $(ruby --version) running"
|
35
|
-
echo "from location $(which ruby)"
|
36
|
-
echo -p "gem list: $(gem list)"
|
37
|
-
|
38
|
-
- script:
|
39
|
-
name: create .ssh directory
|
40
|
-
code: mkdir -p $HOME/.ssh
|
41
|
-
|
42
|
-
- create-file:
|
43
|
-
name: put private key
|
44
|
-
filename: $HOME/.ssh/id_rsa.vagrant
|
45
|
-
overwrite: true
|
46
|
-
hide-from-log: true
|
47
|
-
content: $DIGITALOCEAN_KEY_PRIVATE
|
48
|
-
|
49
|
-
- create-file:
|
50
|
-
name: put public key
|
51
|
-
filename: $HOME/.ssh/id_rsa.vagrant.pub
|
52
|
-
overwrite: true
|
53
|
-
hide-from-log: true
|
54
|
-
content: $DIGITALOCEAN_KEY_PUBLIC
|
55
|
-
|
56
|
-
- script:
|
57
|
-
name: chmod 600 id_rsa
|
58
|
-
code: chmod 600 $HOME/.ssh/id_rsa.vagrant
|
59
|
-
|
60
|
-
- script:
|
61
|
-
name: test centos70
|
62
|
-
code: ./ci/build.sh centos70
|
63
|
-
|
64
|
-
- script:
|
65
|
-
name: test debian8
|
66
|
-
code: ./ci/build.sh debian8
|
67
|
-
|
68
|
-
after-steps:
|
69
|
-
- script:
|
70
|
-
name: shutdown all vms
|
71
|
-
code: |
|
72
|
-
vagrant destroy -f centos70
|
73
|
-
vagrant destroy -f debian8
|
74
|
-
|
75
|
-
- script:
|
76
|
-
name: shutdown old vms
|
77
|
-
code: bundle exec ruby ci/destroy_old_droplets.rb
|
78
|
-
|
79
|
-
- wantedly/pretty-slack-notify:
|
80
|
-
webhook_url: $SLACK_WEBHOOK_URL
|
81
|
-
username: wercker_build
|